# SComp4to6

Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUCondition");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUTotRooms");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUBedRooms");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUBaths");
end;


Formula:
routine main() returns nothing,
affects "SComp4to6.GSUPriceGLA" is
begin
	CopyField("SComp4to6.GSUGLASqFt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUBsmRooms1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUBsmRooms2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUFuncUtil");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUHeatCool");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUEnergyEff");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUGarCpt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUPorchEtc1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUPorchEtc2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUFenceEtc");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUExtraItem");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.GSUExtraItem_Text");
end;


Formula:
routine main() returns nothing,
requires Changed("SComp4to6.GC1SiteAdj"),
affects "SComp4to6.GC1NetAdjAmt",
affects "SComp4to6.GC2NetAdjAmt",
affects "SComp4to6.GC3NetAdjAmt",
affects "SComp4to6.GC1AdjPrice1_Text,SComp4to6.GC1AdjPrice2_Text",
affects "SComp4to6.GC2AdjPrice1_Text,SComp4to6.GC2AdjPrice2_Text",
affects "SComp4to6.GC3AdjPrice1_Text,SComp4to6.GC3AdjPrice2_Text" is
/* no depends SComp4to6.GSUSite SComp4to6.GC1Site SComp4to6.GC2Site SComp4to6.GC3Site */
begin
	string n0;
	float n1, n2;
	n0 = SComp4to6.GC1SiteAdj;

	if StrLeft(n0,1) == "$" then
		n1 = atof(URAR0693.GSUSite);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1Site) Then
			URAR0693.GC1SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC1Site)) * n2)/100)*100);
		else
			URAR0693.GC1SiteAdj = "";

		if !IsEmpty(URAR0693.GC2Site) Then
			URAR0693.GC2SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC2Site)) * n2)/100)*100);
		else
			URAR0693.GC2SiteAdj = "";

		if !IsEmpty(URAR0693.GC3Site) Then
			URAR0693.GC3SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC3Site)) * n2)/100)*100);
		Else
			URAR0693.GC3SiteAdj = "";

		If !IsEmpty(SComp4to6.GC1Site) Then
			SComp4to6.GC1SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC1Site)) * n2)/100)*100);
		Else
			SComp4to6.GC1SiteAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC2Site) Then
			SComp4to6.GC2SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC2Site)) * n2)/100)*100);
		Else
			SComp4to6.GC2SiteAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC3Site) Then
			SComp4to6.GC3SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC3Site)) * n2)/100)*100);
		Else
			SComp4to6.GC3SiteAdj = "";
		End;
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("SComp4to6.GC1AgeAdj"),
affects "SComp4to6.GC1NetAdjAmt",
affects "SComp4to6.GC2NetAdjAmt",
affects "SComp4to6.GC3NetAdjAmt",
affects "SComp4to6.GC1AdjPrice1_Text,SComp4to6.GC1AdjPrice2_Text",
affects "SComp4to6.GC2AdjPrice1_Text,SComp4to6.GC2AdjPrice2_Text",
affects "SComp4to6.GC3AdjPrice1_Text,SComp4to6.GC3AdjPrice2_Text" is
/* no depends SComp4to6.GSUAge SComp4to6.GC1Age SComp4to6.GC2Age SComp4to6.GC3Age */
begin
	string n0;
	float n1, n2;
	n0 = SComp4to6.GC1AgeAdj;

	if StrLeft(n0,1) == "$" then
		n1 = atof(URAR0693.GSUAge);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if (n1 < 1000) then
			n2 = -n2;

		if !IsEmpty(URAR0693.GC1Age) then
			URAR0693.GC1AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC1Age)) * n2)/100)*100);
		else
			URAR0693.GC1AgeAdj = "";

		if !IsEmpty(URAR0693.GC2Age) Then
			URAR0693.GC2AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC2Age)) * n2)/100)*100);
		else
			URAR0693.GC2AgeAdj = "";

		if !IsEmpty(URAR0693.GC3Age) Then
			URAR0693.GC3AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC3Age)) * n2)/100)*100);
		Else
			URAR0693.GC3AgeAdj = "";

		If !IsEmpty(SComp4to6.GC1Age) Then
			SComp4to6.GC1AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC1Age)) * n2)/100)*100);
		Else
			SComp4to6.GC1AgeAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC2Age) Then
			SComp4to6.GC2AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC2Age)) * n2)/100)*100);
		Else
			SComp4to6.GC2AgeAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC3Age) Then
			SComp4to6.GC3AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC3Age)) * n2)/100)*100);
		Else
			SComp4to6.GC3AgeAdj = "";
		End;
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("SComp4to6.GC1GLASqFtAdj"),
affects "SComp4to6.GC1NetAdjAmt",
affects "SComp4to6.GC2NetAdjAmt",
affects "SComp4to6.GC3NetAdjAmt",
affects "SComp4to6.GC1AdjPrice1_Text,SComp4to6.GC1AdjPrice2_Text",
affects "SComp4to6.GC2AdjPrice1_Text,SComp4to6.GC2AdjPrice2_Text",
affects "SComp4to6.GC3AdjPrice1_Text,SComp4to6.GC3AdjPrice2_Text" is
/* no depends SComp4to6.GSUGLASqFt SComp4to6.GC1GLASqFt SComp4to6.GC2GLASqFt SComp4to6.GC3GLASqFt */
begin
	string n0;
	float n1, n2;
	n0 = SComp4to6.GC1GLASqFtAdj;

	if StrLeft(n0,1) == "$" then
		n1 = atof(URAR0693.GSUGLASqFt);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1GLASqFt) Then
			URAR0693.GC1GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC1GLASqFt)) * n2)/100)*100);
		else
			URAR0693.GC1GLASqFtAdj = "";

		if !IsEmpty(URAR0693.GC2GLASqFt) Then
			URAR0693.GC2GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC2GLASqFt)) * n2)/100)*100);
		else
			URAR0693.GC2GLASqFtAdj = "";

		if !IsEmpty(URAR0693.GC3GLASqFt) Then
			URAR0693.GC3GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC3GLASqFt)) * n2)/100)*100);
		Else
			URAR0693.GC3GLASqFtAdj = "";

		If !IsEmpty(SComp4to6.GC1GLASqFt) Then
			SComp4to6.GC1GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC1GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC1GLASqFtAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC2GLASqFt) Then
			SComp4to6.GC2GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC2GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC2GLASqFtAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC3GLASqFt) Then
			SComp4to6.GC3GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC3GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC3GLASqFtAdj = "";
		End;
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("SComp4to6.GC1BsmRooms1Adj"),
affects "SComp4to6.GC1NetAdjAmt",
affects "SComp4to6.GC2NetAdjAmt",
affects "SComp4to6.GC3NetAdjAmt",
affects "SComp4to6.GC1AdjPrice1_Text,SComp4to6.GC1AdjPrice2_Text",
affects "SComp4to6.GC2AdjPrice1_Text,SComp4to6.GC2AdjPrice2_Text",
affects "SComp4to6.GC3AdjPrice1_Text,SComp4to6.GC3AdjPrice2_Text" is
/* no depends SComp4to6.GC1BsmRooms1 SComp4to6.GC2BsmRooms1 SComp4to6.GC3BsmRooms1 */
begin
	string n0;
	float n1, n2;
	n0 = SComp4to6.GC1BsmRooms1Adj;

	if StrLeft(n0,1) == "$" then
		n1 = atof(URAR0693.GSUBsmRooms1);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1BsmRooms1) Then
			URAR0693.GC1BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC1BsmRooms1)) * n2)/100)*100);
		else
			URAR0693.GC1BsmRooms1Adj = "";

		if !IsEmpty(URAR0693.GC2BsmRooms1) Then
			URAR0693.GC2BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC2BsmRooms1)) * n2)/100)*100);
		else
			URAR0693.GC2BsmRooms1Adj = "";

		if !IsEmpty(URAR0693.GC3BsmRooms1) Then
			URAR0693.GC3BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC3BsmRooms1)) * n2)/100)*100);
		Else
			URAR0693.GC3BsmRooms1Adj = "";

		If !IsEmpty(SComp4to6.GC1BsmRooms1) Then
			SComp4to6.GC1BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC1BsmRooms1Adj = "";
		End;
		If !IsEmpty(SComp4to6.GC2BsmRooms1) Then
			SComp4to6.GC2BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC2BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC2BsmRooms1Adj = "";
		End;
		If !IsEmpty(SComp4to6.GC3BsmRooms1) Then
			SComp4to6.GC3BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC3BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC3BsmRooms1Adj = "";
		End;
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("SComp4to6.GC1BsmRooms2Adj"),
affects "SComp4to6.GC1NetAdjAmt",
affects "SComp4to6.GC2NetAdjAmt",
affects "SComp4to6.GC3NetAdjAmt",
affects "SComp4to6.GC1AdjPrice1_Text,SComp4to6.GC1AdjPrice2_Text",
affects "SComp4to6.GC2AdjPrice1_Text,SComp4to6.GC2AdjPrice2_Text",
affects "SComp4to6.GC3AdjPrice1_Text,SComp4to6.GC3AdjPrice2_Text" is
/* no depends SComp4to6.GC1BsmRooms2 SComp4to6.GC2BsmRooms2 SComp4to6.GC3BsmRooms2 */
begin
	string n0;
	float n1, n2;
	n0 = SComp4to6.GC1BsmRooms2Adj;

	if StrLeft(n0,1) == "$" then
		n1 = atof(URAR0693.GSUBsmRooms2);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1BsmRooms2) Then
			URAR0693.GC1BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC1BsmRooms2)) * n2)/100)*100);
		else
			URAR0693.GC1BsmRooms2Adj = "";

		if !IsEmpty(URAR0693.GC2BsmRooms2) Then
			URAR0693.GC2BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC2BsmRooms2)) * n2)/100)*100);
		else
			URAR0693.GC2BsmRooms2Adj = "";

		if !IsEmpty(URAR0693.GC3BsmRooms2) Then
			URAR0693.GC3BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC3BsmRooms2)) * n2)/100)*100);
		Else
			URAR0693.GC3BsmRooms2Adj = "";

		If !IsEmpty(SComp4to6.GC1BsmRooms2) Then
			SComp4to6.GC1BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC1BsmRooms2Adj = "";
		End;
		If !IsEmpty(SComp4to6.GC2BsmRooms2) Then
			SComp4to6.GC2BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC2BsmRooms2Adj = "";
		End;
		If !IsEmpty(SComp4to6.GC3BsmRooms2) Then
			SComp4to6.GC3BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC3BsmRooms2Adj = "";
		End;
	End;
end;


Formula:
routine main() returns nothing is
/* no depends SComp4to6.GC1Plus_Box SComp4to6.GC1Minus_Box */
begin
	float adj, price;
	adj=atoi(SComp4to6.GC1SalesFin1Adj)  + atof(SComp4to6.GC1SalesFin2Adj) + 
		atof(SComp4to6.GC1DateOfSaleAdj) + atof(SComp4to6.GC1LocationAdj) +
		atof(SComp4to6.GC1LeaseholdAdj)	 + atof(SComp4to6.GC1SiteAdj) +
		atof(SComp4to6.GC1ViewAdj)		 + atof(SComp4to6.GC1DesignAdj) +
		atof(SComp4to6.GC1QualConstrAdj) + atof(SComp4to6.GC1AgeAdj) +
		atof(SComp4to6.GC1ConditionAdj)	 + atof(SComp4to6.GC1RoomsAdj) +
		atof(SComp4to6.GC1GLASqFtAdj)	 + atof(SComp4to6.GC1BsmRooms1Adj) +
		atof(SComp4to6.GC1BsmRooms2Adj)	 + atof(SComp4to6.GC1FuncUtilAdj) +
		atof(SComp4to6.GC1HeatCoolAdj)	 + atof(SComp4to6.GC1EnergyEffAdj) +
		atof(SComp4to6.GC1GarCptAdj)	 + atof(SComp4to6.GC1PorchEtc1Adj) +
		atof(SComp4to6.GC1PorchEtc2Adj)	 + atof(SComp4to6.GC1FenceEtcAdj) +
		atof(SComp4to6.GC1ExtraItemAdj);

	price = atof(SComp4to6.GC1SalePrice);
	SComp4to6.GC1NetAdjAmt = ToString(Round(adj));
	SComp4to6.GC1IndValue = ToString(Round(price+adj));

	if adj >= 0 Then
	begin
		SComp4to6.GC1Plus_Box = "X";
		SComp4to6.GC1Minus_Box = "";
	end;
	else
	begin
		SComp4to6.GC1Plus_Box = "";
		SComp4to6.GC1Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SComp4to6.GC2SiteAdj"),
affects "SComp4to6.GC1NetAdjAmt",
affects "SComp4to6.GC2NetAdjAmt",
affects "SComp4to6.GC3NetAdjAmt",
affects "SComp4to6.GC1AdjPrice1_Text,SComp4to6.GC1AdjPrice2_Text",
affects "SComp4to6.GC2AdjPrice1_Text,SComp4to6.GC2AdjPrice2_Text",
affects "SComp4to6.GC3AdjPrice1_Text,SComp4to6.GC3AdjPrice2_Text" is
/* no depends SComp4to6.GSUSite SComp4to6.GC1Site SComp4to6.GC2Site SComp4to6.GC3Site */
begin
	string n0;
	float n1, n2;
	n0 = SComp4to6.GC2SiteAdj;

	if StrLeft(n0,1) == "$" then
		n1 = atof(URAR0693.GSUSite);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1Site) Then
			URAR0693.GC1SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC1Site)) * n2)/100)*100);
		else
			URAR0693.GC1SiteAdj = "";

		if !IsEmpty(URAR0693.GC2Site) Then
			URAR0693.GC2SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC2Site)) * n2)/100)*100);
		else
			URAR0693.GC2SiteAdj = "";

		if !IsEmpty(URAR0693.GC3Site) Then
			URAR0693.GC3SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC3Site)) * n2)/100)*100);
		Else
			URAR0693.GC3SiteAdj = "";

		If !IsEmpty(SComp4to6.GC1Site) Then
			SComp4to6.GC1SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC1Site)) * n2)/100)*100);
		Else
			SComp4to6.GC1SiteAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC2Site) Then
			SComp4to6.GC2SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC2Site)) * n2)/100)*100);
		Else
			SComp4to6.GC2SiteAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC3Site) Then
			SComp4to6.GC3SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC3Site)) * n2)/100)*100);
		Else
			SComp4to6.GC3SiteAdj = "";
		End;
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("SComp4to6.GC2AgeAdj"),
affects "SComp4to6.GC1NetAdjAmt",
affects "SComp4to6.GC2NetAdjAmt",
affects "SComp4to6.GC3NetAdjAmt",
affects "SComp4to6.GC1AdjPrice1_Text,SComp4to6.GC1AdjPrice2_Text",
affects "SComp4to6.GC2AdjPrice1_Text,SComp4to6.GC2AdjPrice2_Text",
affects "SComp4to6.GC3AdjPrice1_Text,SComp4to6.GC3AdjPrice2_Text" is
/* no depends SComp4to6.GSUAge SComp4to6.GC1Age SComp4to6.GC2Age SComp4to6.GC3Age */
begin
	string n0;
	float n1, n2;
	n0 = SComp4to6.GC2AgeAdj;

	if StrLeft(n0,1) == "$" then
		n1 = atof(URAR0693.GSUAge);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if (n1 < 1000) then
			n2 = -n2;

		if !IsEmpty(URAR0693.GC1Age) Then
			URAR0693.GC1AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC1Age)) * n2)/100)*100);
		else
			URAR0693.GC1AgeAdj = "";

		if !IsEmpty(URAR0693.GC2Age) Then
			URAR0693.GC2AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC2Age)) * n2)/100)*100);
		else
			URAR0693.GC2AgeAdj = "";

		if !IsEmpty(URAR0693.GC3Age) Then
			URAR0693.GC3AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC3Age)) * n2)/100)*100);
		Else
			URAR0693.GC3AgeAdj = "";

		If !IsEmpty(SComp4to6.GC1Age) Then
			SComp4to6.GC1AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC1Age)) * n2)/100)*100);
		Else
			SComp4to6.GC1AgeAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC2Age) Then
			SComp4to6.GC2AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC2Age)) * n2)/100)*100);
		Else
			SComp4to6.GC2AgeAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC3Age) Then
			SComp4to6.GC3AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC3Age)) * n2)/100)*100);
		Else
			SComp4to6.GC3AgeAdj = "";
		End;
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("SComp4to6.GC2GLASqFtAdj"),
affects "SComp4to6.GC1NetAdjAmt",
affects "SComp4to6.GC2NetAdjAmt",
affects "SComp4to6.GC3NetAdjAmt",
affects "SComp4to6.GC1AdjPrice1_Text,SComp4to6.GC1AdjPrice2_Text",
affects "SComp4to6.GC2AdjPrice1_Text,SComp4to6.GC2AdjPrice2_Text",
affects "SComp4to6.GC3AdjPrice1_Text,SComp4to6.GC3AdjPrice2_Text" is
/* no depends SComp4to6.GSUGLASqFt SComp4to6.GC1GLASqFt SComp4to6.GC2GLASqFt SComp4to6.GC3GLASqFt */
begin
	string n0;
	float n1, n2;
	n0 = SComp4to6.GC2GLASqFtAdj;

	if StrLeft(n0,1) == "$" then
		n1 = atof(URAR0693.GSUGLASqFt);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1GLASqFt) Then
			URAR0693.GC1GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC1GLASqFt)) * n2)/100)*100);
		else
			URAR0693.GC1GLASqFtAdj = "";

		if !IsEmpty(URAR0693.GC2GLASqFt) Then
			URAR0693.GC2GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC2GLASqFt)) * n2)/100)*100);
		else
			URAR0693.GC2GLASqFtAdj = "";

		if !IsEmpty(URAR0693.GC3GLASqFt) Then
			URAR0693.GC3GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC3GLASqFt)) * n2)/100)*100);
		Else
			URAR0693.GC3GLASqFtAdj = "";

		If !IsEmpty(SComp4to6.GC1GLASqFt) Then
			SComp4to6.GC1GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC1GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC1GLASqFtAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC2GLASqFt) Then
			SComp4to6.GC2GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC2GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC2GLASqFtAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC3GLASqFt) Then
			SComp4to6.GC3GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC3GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC3GLASqFtAdj = "";
		End;
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("SComp4to6.GC2BsmRooms1Adj"),
affects "SComp4to6.GC1NetAdjAmt",
affects "SComp4to6.GC2NetAdjAmt",
affects "SComp4to6.GC3NetAdjAmt",
affects "SComp4to6.GC1AdjPrice1_Text,SComp4to6.GC1AdjPrice2_Text",
affects "SComp4to6.GC2AdjPrice1_Text,SComp4to6.GC2AdjPrice2_Text",
affects "SComp4to6.GC3AdjPrice1_Text,SComp4to6.GC3AdjPrice2_Text" is
/* no depends SComp4to6.GSUBsmRooms1 SComp4to6.GC1BsmRooms1 SComp4to6.GC1BsmRooms1 SComp4to6.GC2BsmRooms1 SComp4to6.GC3BsmRooms1 */
begin
	string n0;
	float n1, n2;
	n0 = SComp4to6.GC2BsmRooms1Adj;

	if StrLeft(n0,1) == "$" then
		n1 = atof(URAR0693.GSUBsmRooms1);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1BsmRooms1) Then
			URAR0693.GC1BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC1BsmRooms1)) * n2)/100)*100);
		else
			URAR0693.GC1BsmRooms1Adj = "";

		if !IsEmpty(URAR0693.GC2BsmRooms1) Then
			URAR0693.GC2BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC2BsmRooms1)) * n2)/100)*100);
		else
			URAR0693.GC2BsmRooms1Adj = "";

		if !IsEmpty(URAR0693.GC3BsmRooms1) Then
			URAR0693.GC3BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC3BsmRooms1)) * n2)/100)*100);
		Else
			URAR0693.GC3BsmRooms1Adj = "";

		If !IsEmpty(SComp4to6.GC1BsmRooms1) Then
			SComp4to6.GC1BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC1BsmRooms1Adj = "";
		End;
		If !IsEmpty(SComp4to6.GC2BsmRooms1) Then
			SComp4to6.GC2BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC2BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC2BsmRooms1Adj = "";
		End;
		If !IsEmpty(SComp4to6.GC3BsmRooms1) Then
			SComp4to6.GC3BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC3BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC3BsmRooms1Adj = "";
		End;
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("SComp4to6.GC2BsmRooms2Adj"),
affects "SComp4to6.GC1NetAdjAmt",
affects "SComp4to6.GC2NetAdjAmt",
affects "SComp4to6.GC3NetAdjAmt",
affects "SComp4to6.GC1AdjPrice1_Text,SComp4to6.GC1AdjPrice2_Text",
affects "SComp4to6.GC2AdjPrice1_Text,SComp4to6.GC2AdjPrice2_Text",
affects "SComp4to6.GC3AdjPrice1_Text,SComp4to6.GC3AdjPrice2_Text" is
/* no depends SComp4to6.GC1BsmRooms2 SComp4to6.GC2BsmRooms2 SComp4to6.GC3BsmRooms2 */
begin
	string n0;
	float n1, n2;
	n0 = SComp4to6.GC2BsmRooms2Adj;

	if StrLeft(n0,1) == "$" then
		n1 = atof(URAR0693.GSUBsmRooms2);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1BsmRooms2) Then
			URAR0693.GC1BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC1BsmRooms2)) * n2)/100)*100);
		else
			URAR0693.GC1BsmRooms2Adj = "";

		if !IsEmpty(URAR0693.GC2BsmRooms2) Then
			URAR0693.GC2BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC2BsmRooms2)) * n2)/100)*100);
		else
			URAR0693.GC2BsmRooms2Adj = "";

		if !IsEmpty(URAR0693.GC3BsmRooms2) Then
			URAR0693.GC3BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC3BsmRooms2)) * n2)/100)*100);
		Else
			URAR0693.GC3BsmRooms2Adj = "";

		If !IsEmpty(SComp4to6.GC1BsmRooms2) Then
			SComp4to6.GC1BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC1BsmRooms2Adj = "";
		End;
		If !IsEmpty(SComp4to6.GC2BsmRooms2) Then
			SComp4to6.GC2BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC2BsmRooms2Adj = "";
		End;
		If !IsEmpty(SComp4to6.GC3BsmRooms2) Then
			SComp4to6.GC3BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC3BsmRooms2Adj = "";
		End;
	End;
end;


Formula:
routine main() returns nothing is
/* no depends SComp4to6.GC2Plus_Box SComp4to6.GC2Minus_Box */
begin
	float adj, price;
	adj =	atoi(SComp4to6.GC2SalesFin1Adj)  + atof(SComp4to6.GC2SalesFin2Adj) + 
			atof(SComp4to6.GC2DateOfSaleAdj) + atof(SComp4to6.GC2LocationAdj) +
			atof(SComp4to6.GC2LeaseholdAdj)	 + atof(SComp4to6.GC2SiteAdj) +
			atof(SComp4to6.GC2ViewAdj)		 + atof(SComp4to6.GC2DesignAdj) +
			atof(SComp4to6.GC2QualConstrAdj) + atof(SComp4to6.GC2AgeAdj) +
			atof(SComp4to6.GC2ConditionAdj)	 + atof(SComp4to6.GC2RoomsAdj) +
			atof(SComp4to6.GC2GLASqFtAdj)	 + atof(SComp4to6.GC2BsmRooms1Adj) +
			atof(SComp4to6.GC2BsmRooms2Adj)	 + atof(SComp4to6.GC2FuncUtilAdj) +
			atof(SComp4to6.GC2HeatCoolAdj)	 + atof(SComp4to6.GC2EnergyEffAdj) +
			atof(SComp4to6.GC2GarCptAdj)	 + atof(SComp4to6.GC2PorchEtc1Adj) +
			atof(SComp4to6.GC2PorchEtc2Adj)	 + atof(SComp4to6.GC2FenceEtcAdj) +
			atof(SComp4to6.GC2ExtraItemAdj);

	price = atof(SComp4to6.GC2SalePrice);
	SComp4to6.GC2NetAdjAmt = ToString(Round(adj));
	SComp4to6.GC2IndValue = ToString(Round(price+adj));

	if adj >= 0 Then
	begin
		SComp4to6.GC2Plus_Box = "X";
		SComp4to6.GC2Minus_Box = "";
	end;
	else
	begin
		SComp4to6.GC2Plus_Box = "";
		SComp4to6.GC2Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SComp4to6.GC3SiteAdj"),
affects "SComp4to6.GC1NetAdjAmt",
affects "SComp4to6.GC2NetAdjAmt",
affects "SComp4to6.GC3NetAdjAmt",
affects "SComp4to6.GC1AdjPrice1_Text,SComp4to6.GC1AdjPrice2_Text",
affects "SComp4to6.GC2AdjPrice1_Text,SComp4to6.GC2AdjPrice2_Text",
affects "SComp4to6.GC3AdjPrice1_Text,SComp4to6.GC3AdjPrice2_Text" is
/* no depends SComp4to6.GSUSite SComp4to6.GC1Site SComp4to6.GC2Site SComp4to6.GC3Site */
begin
	string n0;
	float n1, n2;
	n0 = SComp4to6.GC3SiteAdj;

	if StrLeft(n0,1) == "$" then
		n1 = atof(URAR0693.GSUSite);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1Site) Then
			URAR0693.GC1SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC1Site)) * n2)/100)*100);
		else
			URAR0693.GC1SiteAdj = "";

		if !IsEmpty(URAR0693.GC2Site) Then
			URAR0693.GC2SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC2Site)) * n2)/100)*100);
		else
			URAR0693.GC2SiteAdj = "";

		if !IsEmpty(URAR0693.GC3Site) Then
			URAR0693.GC3SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC3Site)) * n2)/100)*100);
		Else
			URAR0693.GC3SiteAdj = "";

		If !IsEmpty(SComp4to6.GC1Site) Then
			SComp4to6.GC1SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC1Site)) * n2)/100)*100);
		Else
			SComp4to6.GC1SiteAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC2Site) Then
			SComp4to6.GC2SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC2Site)) * n2)/100)*100);
		Else
			SComp4to6.GC2SiteAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC3Site) Then
			SComp4to6.GC3SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC3Site)) * n2)/100)*100);
		Else
			SComp4to6.GC3SiteAdj = "";
		End;
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("SComp4to6.GC3AgeAdj"),
affects "SComp4to6.GC1NetAdjAmt",
affects "SComp4to6.GC2NetAdjAmt",
affects "SComp4to6.GC3NetAdjAmt",
affects "SComp4to6.GC1AdjPrice1_Text,SComp4to6.GC1AdjPrice2_Text",
affects "SComp4to6.GC2AdjPrice1_Text,SComp4to6.GC2AdjPrice2_Text",
affects "SComp4to6.GC3AdjPrice1_Text,SComp4to6.GC3AdjPrice2_Text" is
/* no depends SComp4to6.GSUAge SComp4to6.GC1Age SComp4to6.GC2Age SComp4to6.GC3Age */
begin
	string n0;
	float n1, n2;
	n0 = SComp4to6.GC3AgeAdj;

	if StrLeft(n0,1) == "$" then
		n1 = atof(URAR0693.GSUAge);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if (n1 < 1000) then
			n2 = -n2;

		if !IsEmpty(URAR0693.GC1Age) Then
			URAR0693.GC1AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC1Age)) * n2)/100)*100);
		else
			URAR0693.GC1AgeAdj = "";

		if !IsEmpty(URAR0693.GC2Age) Then
			URAR0693.GC2AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC2Age)) * n2)/100)*100);
		else
			URAR0693.GC2AgeAdj = "";

		if !IsEmpty(URAR0693.GC3Age) Then
			URAR0693.GC3AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC3Age)) * n2)/100)*100);
		Else
			URAR0693.GC3AgeAdj = "";

		If !IsEmpty(SComp4to6.GC1Age) Then
			SComp4to6.GC1AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC1Age)) * n2)/100)*100);
		Else
			SComp4to6.GC1AgeAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC2Age) Then
			SComp4to6.GC2AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC2Age)) * n2)/100)*100);
		Else
			SComp4to6.GC2AgeAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC3Age) Then
			SComp4to6.GC3AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC3Age)) * n2)/100)*100);
		Else
			SComp4to6.GC3AgeAdj = "";
		End;
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("SComp4to6.GC3GLASqFtAdj"),
affects "SComp4to6.GC1NetAdjAmt",
affects "SComp4to6.GC2NetAdjAmt",
affects "SComp4to6.GC3NetAdjAmt",
affects "SComp4to6.GC1AdjPrice1_Text,SComp4to6.GC1AdjPrice2_Text",
affects "SComp4to6.GC2AdjPrice1_Text,SComp4to6.GC2AdjPrice2_Text",
affects "SComp4to6.GC3AdjPrice1_Text,SComp4to6.GC3AdjPrice2_Text" is
/* no depends SComp4to6.GSUGLASqFt SComp4to6.GC1GLASqFt SComp4to6.GC2GLASqFt SComp4to6.GC3GLASqFt */
begin
	string n0;
	float n1, n2;
	n0 = SComp4to6.GC3GLASqFtAdj;

	if StrLeft(n0,1) == "$" then
		n1 = atof(URAR0693.GSUGLASqFt);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1GLASqFt) Then
			URAR0693.GC1GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC1GLASqFt)) * n2)/100)*100);
		else
			URAR0693.GC1GLASqFtAdj = "";

		if !IsEmpty(URAR0693.GC2GLASqFt) Then
			URAR0693.GC2GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC2GLASqFt)) * n2)/100)*100);
		else
			URAR0693.GC2GLASqFtAdj = "";

		if !IsEmpty(URAR0693.GC3GLASqFt) Then
			URAR0693.GC3GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC3GLASqFt)) * n2)/100)*100);
		Else
			URAR0693.GC3GLASqFtAdj = "";

		If !IsEmpty(SComp4to6.GC1GLASqFt) Then
			SComp4to6.GC1GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC1GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC1GLASqFtAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC2GLASqFt) Then
			SComp4to6.GC2GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC2GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC2GLASqFtAdj = "";
		End;
		If !IsEmpty(SComp4to6.GC3GLASqFt) Then
			SComp4to6.GC3GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC3GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC3GLASqFtAdj = "";
		End;
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("SComp4to6.GC3BsmRooms1Adj"),
affects "SComp4to6.GC1NetAdjAmt",
affects "SComp4to6.GC2NetAdjAmt",
affects "SComp4to6.GC3NetAdjAmt",
affects "SComp4to6.GC1AdjPrice1_Text,SComp4to6.GC1AdjPrice2_Text",
affects "SComp4to6.GC2AdjPrice1_Text,SComp4to6.GC2AdjPrice2_Text",
affects "SComp4to6.GC3AdjPrice1_Text,SComp4to6.GC3AdjPrice2_Text" is
/* no depends SComp4to6.GSUBsmRooms1 SComp4to6.GC1BsmRooms1 SComp4to6.GC1BsmRooms1 SComp4to6.GC2BsmRooms1 SComp4to6.GC3BsmRooms1 */
begin
	string n0;
	float n1, n2;
	n0 = SComp4to6.GC3BsmRooms1Adj;

	if StrLeft(n0,1) == "$" then
		n1 = atof(URAR0693.GSUBsmRooms1);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1BsmRooms1) Then
			URAR0693.GC1BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC1BsmRooms1)) * n2)/100)*100);
		else
			URAR0693.GC1BsmRooms1Adj = "";

		if !IsEmpty(URAR0693.GC2BsmRooms1) Then
			URAR0693.GC2BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC2BsmRooms1)) * n2)/100)*100);
		else
			URAR0693.GC2BsmRooms1Adj = "";

		if !IsEmpty(URAR0693.GC3BsmRooms1) Then
			URAR0693.GC3BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC3BsmRooms1)) * n2)/100)*100);
		Else
			URAR0693.GC3BsmRooms1Adj = "";

		If !IsEmpty(SComp4to6.GC1BsmRooms1) Then
			SComp4to6.GC1BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC1BsmRooms1Adj = "";
		End;
		If !IsEmpty(SComp4to6.GC2BsmRooms1) Then
			SComp4to6.GC2BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC2BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC2BsmRooms1Adj = "";
		End;
		If !IsEmpty(SComp4to6.GC3BsmRooms1) Then
			SComp4to6.GC3BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC3BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC3BsmRooms1Adj = "";
		End;
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("SComp4to6.GC3BsmRooms2Adj"),
affects "SComp4to6.GC1NetAdjAmt",
affects "SComp4to6.GC2NetAdjAmt",
affects "SComp4to6.GC3NetAdjAmt",
affects "SComp4to6.GC1AdjPrice1_Text,SComp4to6.GC1AdjPrice2_Text",
affects "SComp4to6.GC2AdjPrice1_Text,SComp4to6.GC2AdjPrice2_Text",
affects "SComp4to6.GC3AdjPrice1_Text,SComp4to6.GC3AdjPrice2_Text" is
/* no depends SComp4to6.GC1BsmRooms2 SComp4to6.GC2BsmRooms2 SComp4to6.GC3BsmRooms2 */
begin
	string n0;
	float n1, n2;
	n0 = SComp4to6.GC3BsmRooms2Adj;

	if StrLeft(n0,1) == "$" then
		n1 = atof(URAR0693.GSUBsmRooms2);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1BsmRooms2) Then
			URAR0693.GC1BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC1BsmRooms2)) * n2)/100)*100);
		else
			URAR0693.GC1BsmRooms2Adj = "";

		if !IsEmpty(URAR0693.GC2BsmRooms2) Then
			URAR0693.GC2BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC2BsmRooms2)) * n2)/100)*100);
		else
			URAR0693.GC2BsmRooms2Adj = "";

		if !IsEmpty(URAR0693.GC3BsmRooms2) Then
			URAR0693.GC3BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC3BsmRooms2)) * n2)/100)*100);
		Else
			URAR0693.GC3BsmRooms2Adj = "";

		If !IsEmpty(SComp4to6.GC1BsmRooms2) Then
			SComp4to6.GC1BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC1BsmRooms2Adj = "";
		End;
		If !IsEmpty(SComp4to6.GC2BsmRooms2) Then
			SComp4to6.GC2BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC2BsmRooms2Adj = "";
		End;
		If !IsEmpty(SComp4to6.GC3BsmRooms2) Then
			SComp4to6.GC3BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC3BsmRooms2Adj = "";
		End;
	End;
end;


Formula:
routine main() returns nothing is
/* no depends SComp4to6.GC3Plus_Box SComp4to6.GC3Minus_Box */
begin
	float adj, price;
	adj =	atoi(SComp4to6.GC3SalesFin1Adj)  + atof(SComp4to6.GC3SalesFin2Adj) + 
			atof(SComp4to6.GC3DateOfSaleAdj) + atof(SComp4to6.GC3LocationAdj) +
			atof(SComp4to6.GC3LeaseholdAdj)	 + atof(SComp4to6.GC3SiteAdj) +
			atof(SComp4to6.GC3ViewAdj)		 + atof(SComp4to6.GC3DesignAdj) +
			atof(SComp4to6.GC3QualConstrAdj) + atof(SComp4to6.GC3AgeAdj) +
			atof(SComp4to6.GC3ConditionAdj)	 + atof(SComp4to6.GC3RoomsAdj) +
			atof(SComp4to6.GC3GLASqFtAdj)	 + atof(SComp4to6.GC3BsmRooms1Adj) +
			atof(SComp4to6.GC3BsmRooms2Adj)	 + atof(SComp4to6.GC3FuncUtilAdj) +
			atof(SComp4to6.GC3HeatCoolAdj)	 + atof(SComp4to6.GC3EnergyEffAdj) +
			atof(SComp4to6.GC3GarCptAdj)	 + atof(SComp4to6.GC3PorchEtc1Adj) +
			atof(SComp4to6.GC3PorchEtc2Adj)	 + atof(SComp4to6.GC3FenceEtcAdj) +
			atof(SComp4to6.GC3ExtraItemAdj);

	price = atof(SComp4to6.GC3SalePrice);
	SComp4to6.GC3NetAdjAmt = ToString(Round(adj));
	SComp4to6.GC3IndValue = ToString(Round(price+adj));

	if adj >= 0 Then
	begin
		SComp4to6.GC3Plus_Box = "X";
		SComp4to6.GC3Minus_Box = "";
	end;
	else
	begin
		SComp4to6.GC3Plus_Box = "";
		SComp4to6.GC3Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.ClientCaseNumber");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SComp4to6.FileNumber");
end;


# SFCRents

Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUAddress1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUAddress2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUDateLeaseB");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUDateLeaseE");
end;


Formula:
routine main() returns nothing,
affects "SFCRents.GSUAdjMonthRent" is
begin
	CopyField("SFCRents.GSUMonthRent");
end;


Formula:
routine main() returns nothing,
affects "SFCRents.GSUAdjMonthRent" is
begin
	CopyField("SFCRents.GSUUtil_Furn");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("SFCRents.GSUAdjMonthRent") then
	begin
		float adj;
		adj = atof(SFCRents.GSUMonthRent) - atof(SFCRents.GSUUtil_Furn);
		SFCRents.GSUAdjMonthRent = ToString(adj, 5);
	end;

	CopyField("SFCRents.GSUAdjMonthRent");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUDataSource1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUDataSource2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSULocation");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUView");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUDesign");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUDesign2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUAge");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUCondition");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUTotRooms");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUBedRooms");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUBaths");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUGLASqFt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUOther");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUBasement");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUOther2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.GSUOther3");
end;


Formula:
routine main() returns nothing,
requires !Changed("SFCRents.GR1AdjMonthRent"),
affects "SFCRents.GR1IndRentValue" is
begin
	float adj;
	adj = SFCRents.GR1MonthRent - SFCRents.GR1Util_Furn;
	SFCRents.GR1AdjMonthRent = ToString(adj, 5);
end;


Formula:
routine main() returns nothing,
requires Changed("SFCRents.GR1ViewAdj"),
affects "SFCRents.GR1NetAdjAmt,SFCRents.GR2NetAdjAmt,SFCRents.GR3NetAdjAmt" is
/* no depends SFCRents.GSUView SFCRents.GR1View SFCRents.GR2View SFCRents.GR3View*/
begin
	string n0;
	float n1, n2, n3, n4, n5;
	n0 = SFCRents.GR1ViewAdj;
	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(SFCRents.GSUView);
		n2 = atof(StrRight(n0,StrLength(n0)-1));

		n3 = (n1 - atof(SFCRents.GR1View)) * n2;
		n4 = (n1 - atof(SFCRents.GR2View)) * n2;
		n5 = (n1 - atof(SFCRents.GR3View)) * n2;

		SFCRents.GR1ViewAdj  = ToString(Round(n3/100)*100);
		SFCRents.GR2ViewAdj  = ToString(Round(n4/100)*100);
		SFCRents.GR3ViewAdj  = ToString(Round(n5/100)*100);
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SFCRents.GR1AgeAdj"),
affects "SFCRents.GR1NetAdjAmt,SFCRents.GR2NetAdjAmt,SFCRents.GR3NetAdjAmt" is
/* no depends SFCRents.GSUAge SFCRents.GR1Age SFCRents.GR2Age SFCRents.GR3Age*/
begin
	string n0;
	float n1, n2, n3, n4, n5;
	n0 = SFCRents.GR1AgeAdj;
	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(SFCRents.GSUAge);
		n2 = atof(StrRight(n0,StrLength(n0)-1));

		n3 = (n1 - atof(SFCRents.GR1Age)) * n2;
		n4 = (n1 - atof(SFCRents.GR2Age)) * n2;
		n5 = (n1 - atof(SFCRents.GR3Age)) * n2;

		SFCRents.GR1AgeAdj  = ToString(Round(n3/100)*100);
		SFCRents.GR2AgeAdj  = ToString(Round(n4/100)*100);
		SFCRents.GR3AgeAdj  = ToString(Round(n5/100)*100);
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SFCRents.GR1GLASqFtAdj"),
affects "SFCRents.GR1NetAdjAmt,SFCRents.GR2NetAdjAmt,SFCRents.GR3NetAdjAmt" is
/* no depends SFCRents.GSUGLASqFt SFCRents.GR1GLASqFt SFCRents.GR2GLASqFt SFCRents.GR3GLASqFt*/
begin
	string n0;
	float n1, n2, n3, n4, n5;
	n0 = SFCRents.GR1GLASqFtAdj;
	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(SFCRents.GSUGLASqFt);
		n2 = atof(StrRight(n0,StrLength(n0)-1));

		n3 = (n1 - atof(SFCRents.GR1GLASqFt)) * n2;
		n4 = (n1 - atof(SFCRents.GR2GLASqFt)) * n2;
		n5 = (n1 - atof(SFCRents.GR3GLASqFt)) * n2;

		SFCRents.GR1GLASqFtAdj  = ToString(Round(n3/100)*100);
		SFCRents.GR2GLASqFtAdj  = ToString(Round(n4/100)*100);
		SFCRents.GR3GLASqFtAdj  = ToString(Round(n5/100)*100);
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SFCRents.GR1BasementAdj"),
affects "SFCRents.GR1NetAdjAmt,SFCRents.GR2NetAdjAmt,SFCRents.GR3NetAdjAmt" is
/* no depends SFCRents.GSUBasement SFCRents.GR1Basement SFCRents.GR2Basement SFCRents.GR3Basement*/
begin
	string n0;
	float n1, n2, n3, n4, n5;
	n0 = SFCRents.GR1BasementAdj;
	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(SFCRents.GSUBasement);
		n2 = atof(StrRight(n0,StrLength(n0)-1));

		n3 = (n1 - atof(SFCRents.GR1Basement)) * n2;
		n4 = (n1 - atof(SFCRents.GR2Basement)) * n2;
		n5 = (n1 - atof(SFCRents.GR3Basement)) * n2;

		SFCRents.GR1BasementAdj = ToString(Round(n3/100)*100);
		SFCRents.GR2BasementAdj = ToString(Round(n4/100)*100);
		SFCRents.GR3BasementAdj = ToString(Round(n5/100)*100);
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("SFCRents.GR1NetAdjAmt"),
affects "SFCRents.GR1IndRentValue" is
begin
	float sum;
	sum=atof(SFCRents.GR1RentConsAdj) + atof(SFCRents.GR1RentConsAdj2) +
		atof(SFCRents.GR1LocationAdj) + atof(SFCRents.GR1ViewAdj) +
		atof(SFCRents.GR1DesignAdj) + atof(SFCRents.GR1DesignAdj2) +
		atof(SFCRents.GR1AgeAdj) + atof(SFCRents.GR1ConditionAdj) +
		atof(SFCRents.GR1RoomsAdj) + atof(SFCRents.GR1GLASqFtAdj) +
		atof(SFCRents.GR1OtherAdj) + atof(SFCRents.GR1BasementAdj) +
		atof(SFCRents.GR1Other2Adj) + atof(SFCRents.GR1Other3Adj);

	SFCRents.GR1NetAdjAmt = ToString(sum,5);

	if sum >= 0 then
	begin
		SFCRents.GR1Net_Plus_Box = "X";
		SFCRents.GR1Net_Minus_Box = "";
	end;
	else
	begin
		SFCRents.GR1Net_Plus_Box = "";
		SFCRents.GR1Net_Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("SFCRents.GR1IndRentValue") is
begin
	float f;
	f = atof(SFCRents.GR1AdjMonthRent) + atof(SFCRents.GR1NetAdjAmt);
	SFCRents.GR1IndRentValue = ToString(f, 5);
end;


Formula:
routine main() returns nothing,
requires !Changed("SFCRents.GR2AdjMonthRent"),
affects "SFCRents.GR2IndRentValue" is
begin
	float adj;
	adj = atof(SFCRents.GR2MonthRent) - atof(SFCRents.GR2Util_Furn);
	SFCRents.GR2AdjMonthRent = ToString(adj, 5);
end;


Formula:
routine main() returns nothing,
requires Changed("SFCRents.GR2ViewAdj"),
affects "SFCRents.GR1NetAdjAmt,SFCRents.GR2NetAdjAmt,SFCRents.GR3NetAdjAmt" is
/* no depends SFCRents.GSUView SFCRents.GR1View SFCRents.GR2View SFCRents.GR3View*/
begin
	string n0;
	float n1, n2, n3, n4, n5;
	n0 = SFCRents.GR2ViewAdj;
	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(SFCRents.GSUView);
		n2 = atof(StrRight(n0,StrLength(n0)-1));

		n3 = (n1 - atof(SFCRents.GR1View)) * n2;
		n4 = (n1 - atof(SFCRents.GR2View)) * n2;
		n5 = (n1 - atof(SFCRents.GR3View)) * n2;

		SFCRents.GR1ViewAdj  = ToString(Round(n3/100)*100);
		SFCRents.GR2ViewAdj  = ToString(Round(n4/100)*100);
		SFCRents.GR3ViewAdj  = ToString(Round(n5/100)*100);
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SFCRents.GR2AgeAdj"),
affects "SFCRents.GR1NetAdjAmt,SFCRents.GR2NetAdjAmt,SFCRents.GR3NetAdjAmt" is
/* no depends SFCRents.GSUAge SFCRents.GR1Age SFCRents.GR2Age SFCRents.GR3Age*/
begin
	string n0;
	float n1, n2, n3, n4, n5;
	n0 = SFCRents.GR2AgeAdj;
	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(SFCRents.GSUAge);
		n2 = atof(StrRight(n0,StrLength(n0)-1));

		n3 = (n1 - atof(SFCRents.GR1Age)) * n2;
		n4 = (n1 - atof(SFCRents.GR2Age)) * n2;
		n5 = (n1 - atof(SFCRents.GR3Age)) * n2;

		SFCRents.GR1AgeAdj  = ToString(Round(n3/100)*100);
		SFCRents.GR2AgeAdj  = ToString(Round(n4/100)*100);
		SFCRents.GR3AgeAdj  = ToString(Round(n5/100)*100);
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SFCRents.GR2GLASqFtAdj"),
affects "SFCRents.GR1NetAdjAmt,SFCRents.GR2NetAdjAmt,SFCRents.GR3NetAdjAmt" is
/* no depends SFCRents.GSUGLASqFt SFCRents.GR1GLASqFt SFCRents.GR2GLASqFt SFCRents.GR3GLASqFt*/
begin
	string n0;
	float n1, n2, n3, n4, n5;
	n0 = SFCRents.GR2GLASqFtAdj;
	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(SFCRents.GSUGLASqFt);
		n2 = atof(StrRight(n0,StrLength(n0)-1));

		n3 = (n1 - atof(SFCRents.GR1GLASqFt)) * n2;
		n4 = (n1 - atof(SFCRents.GR2GLASqFt)) * n2;
		n5 = (n1 - atof(SFCRents.GR3GLASqFt)) * n2;

		SFCRents.GR1GLASqFtAdj  = ToString(Round(n3/100)*100);
		SFCRents.GR2GLASqFtAdj  = ToString(Round(n4/100)*100);
		SFCRents.GR3GLASqFtAdj  = ToString(Round(n5/100)*100);
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SFCRents.GR2BasementAdj"),
affects "SFCRents.GR1NetAdjAmt,SFCRents.GR2NetAdjAmt,SFCRents.GR3NetAdjAmt" is
/* no depends SFCRents.GSUBasement SFCRents.GR1Basement SFCRents.GR2Basement SFCRents.GR3Basement*/
begin
	string n0;
	float n1, n2, n3, n4, n5;
	n0 = SFCRents.GR2BasementAdj;
	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(SFCRents.GSUBasement);
		n2 = atof(StrRight(n0,StrLength(n0)-1));

		n3 = (n1 - atof(SFCRents.GR1Basement)) * n2;
		n4 = (n1 - atof(SFCRents.GR2Basement)) * n2;
		n5 = (n1 - atof(SFCRents.GR3Basement)) * n2;

		SFCRents.GR1BasementAdj = ToString(Round(n3/100)*100);
		SFCRents.GR2BasementAdj = ToString(Round(n4/100)*100);
		SFCRents.GR3BasementAdj = ToString(Round(n5/100)*100);
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("SFCRents.GR2NetAdjAmt"),
affects "SFCRents.GR2IndRentValue" is
begin
	float sum;
	sum=atof(SFCRents.GR2RentConsAdj) + atof(SFCRents.GR2RentConsAdj2) +
		atof(SFCRents.GR2LocationAdj) + atof(SFCRents.GR2ViewAdj) +
		atof(SFCRents.GR2DesignAdj) + atof(SFCRents.GR2DesignAdj2) +
		atof(SFCRents.GR2AgeAdj) + atof(SFCRents.GR2ConditionAdj) +
		atof(SFCRents.GR2RoomsAdj) + atof(SFCRents.GR2GLASqFtAdj) +
		atof(SFCRents.GR2OtherAdj) + atof(SFCRents.GR2BasementAdj) +
		atof(SFCRents.GR2Other2Adj) + atof(SFCRents.GR2Other3Adj);

	SFCRents.GR2NetAdjAmt = ToString(sum,5);

	if sum >= 0 then
	begin
		SFCRents.GR2Net_Plus_Box = "X";
		SFCRents.GR2Net_Minus_Box = "";
	end;
	else
	begin
		SFCRents.GR2Net_Plus_Box = "";
		SFCRents.GR2Net_Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("SFCRents.GR2IndRentValue") is
begin
	float f;
	f = atof(SFCRents.GR2AdjMonthRent) + atof(SFCRents.GR2NetAdjAmt);
	SFCRents.GR2IndRentValue = ToString(f, 5);
end;


Formula:
routine main() returns nothing,
requires !Changed("SFCRents.GR3AdjMonthRent"),
affects "SFCRents.GR3IndRentValue" is
begin
	float adj;
	adj = atof(SFCRents.GR3MonthRent) - atof(SFCRents.GR3Util_Furn);
	SFCRents.GR3AdjMonthRent = ToString(adj, 5);
end;


Formula:
routine main() returns nothing,
requires Changed("SFCRents.GR3ViewAdj"),
affects "SFCRents.GR1NetAdjAmt,SFCRents.GR2NetAdjAmt,SFCRents.GR3NetAdjAmt" is
/* no depends SFCRents.GSUView SFCRents.GR1View SFCRents.GR2View SFCRents.GR3View*/
begin
	string n0;
	float n1, n2, n3, n4, n5;
	n0 = SFCRents.GR3ViewAdj;
	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(SFCRents.GSUView);
		n2 = atof(StrRight(n0,StrLength(n0)-1));

		n3 = (n1 - atof(SFCRents.GR1View)) * n2;
		n4 = (n1 - atof(SFCRents.GR2View)) * n2;
		n5 = (n1 - atof(SFCRents.GR3View)) * n2;

		SFCRents.GR1ViewAdj  = ToString(Round(n3/100)*100);
		SFCRents.GR2ViewAdj  = ToString(Round(n4/100)*100);
		SFCRents.GR3ViewAdj  = ToString(Round(n5/100)*100);
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SFCRents.GR3AgeAdj"),
affects "SFCRents.GR1NetAdjAmt,SFCRents.GR2NetAdjAmt,SFCRents.GR3NetAdjAmt" is
/* no depends SFCRents.GSUAge SFCRents.GR1Age SFCRents.GR2Age SFCRents.GR3Age*/
begin
	string n0;
	float n1, n2, n3, n4, n5;
	n0 = SFCRents.GR3AgeAdj;
	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(SFCRents.GSUAge);
		n2 = atof(StrRight(n0,StrLength(n0)-1));

		n3 = (n1 - atof(SFCRents.GR1Age)) * n2;
		n4 = (n1 - atof(SFCRents.GR2Age)) * n2;
		n5 = (n1 - atof(SFCRents.GR3Age)) * n2;

		SFCRents.GR1AgeAdj  = ToString(Round(n3/100)*100);
		SFCRents.GR2AgeAdj  = ToString(Round(n4/100)*100);
		SFCRents.GR3AgeAdj  = ToString(Round(n5/100)*100);
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SFCRents.GR3GLASqFtAdj"),
affects "SFCRents.GR1NetAdjAmt,SFCRents.GR2NetAdjAmt,SFCRents.GR3NetAdjAmt" is
/* no depends SFCRents.GSUGLASqFt SFCRents.GR1GLASqFt SFCRents.GR2GLASqFt SFCRents.GR3GLASqFt*/
begin
	string n0;
	float n1, n2, n3, n4, n5;
	n0 = SFCRents.GR3GLASqFtAdj;
	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(SFCRents.GSUGLASqFt);
		n2 = atof(StrRight(n0,StrLength(n0)-1));

		n3 = (n1 - atof(SFCRents.GR1GLASqFt)) * n2;
		n4 = (n1 - atof(SFCRents.GR2GLASqFt)) * n2;
		n5 = (n1 - atof(SFCRents.GR3GLASqFt)) * n2;

		SFCRents.GR1GLASqFtAdj  = ToString(Round(n3/100)*100);
		SFCRents.GR2GLASqFtAdj  = ToString(Round(n4/100)*100);
		SFCRents.GR3GLASqFtAdj  = ToString(Round(n5/100)*100);
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SFCRents.GR3BasementAdj"),
affects "SFCRents.GR1NetAdjAmt,SFCRents.GR2NetAdjAmt,SFCRents.GR3NetAdjAmt" is
/* no depends SFCRents.GSUBasement SFCRents.GR1Basement SFCRents.GR2Basement SFCRents.GR3Basement*/
begin
	string n0;
	float n1, n2, n3, n4, n5;
	n0 = SFCRents.GR3BasementAdj;
	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(SFCRents.GSUBasement);
		n2 = atof(StrRight(n0,StrLength(n0)-1));

		n3 = (n1 - atof(SFCRents.GR1Basement)) * n2;
		n4 = (n1 - atof(SFCRents.GR2Basement)) * n2;
		n5 = (n1 - atof(SFCRents.GR3Basement)) * n2;

		SFCRents.GR1BasementAdj = ToString(Round(n3/100)*100);
		SFCRents.GR2BasementAdj = ToString(Round(n4/100)*100);
		SFCRents.GR3BasementAdj = ToString(Round(n5/100)*100);
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("SFCRents.GR3NetAdjAmt"),
affects "SFCRents.GR3IndRentValue" is
begin
	float sum;
	sum=atof(SFCRents.GR3RentConsAdj) + atof(SFCRents.GR3RentConsAdj2) +
		atof(SFCRents.GR3LocationAdj) + atof(SFCRents.GR3ViewAdj) +
		atof(SFCRents.GR3DesignAdj) + atof(SFCRents.GR3DesignAdj2) +
		atof(SFCRents.GR3AgeAdj) + atof(SFCRents.GR3ConditionAdj) +
		atof(SFCRents.GR3RoomsAdj) + atof(SFCRents.GR3GLASqFtAdj) +
		atof(SFCRents.GR3OtherAdj) + atof(SFCRents.GR3BasementAdj) +
		atof(SFCRents.GR3Other2Adj) + atof(SFCRents.GR3Other3Adj);

	SFCRents.GR3NetAdjAmt = ToString(sum,5);

	if sum >= 0 then
	begin
		SFCRents.GR3Net_Plus_Box = "X";
		SFCRents.GR3Net_Minus_Box = "";
	end;
	else
	begin
		SFCRents.GR3Net_Plus_Box = "";
		SFCRents.GR3Net_Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("SFCRents.GR3IndRentValue") is
begin
	float f;
	f = atof(SFCRents.GR3AdjMonthRent) + atof(SFCRents.GR3NetAdjAmt);
	SFCRents.GR3IndRentValue = ToString(f, 5);
end;


Formula:
routine main() returns nothing is
begin
	SFCRents.RECInspectDate = SFCRents.CRSMkRtValDate + 
		", 19" + SFCRents.CRSMkRtValYR;
	CopyField("SFCRents.RECInspectDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SFCRents.RECEstMktValue");
end;


# SPUCIAR

Formula:
routine main() returns nothing is
begin
	if IsEmpty(SPUCIAR.PROP_Other_Box) then
		SPUCIAR.PROP_Other = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.FileNumber");
	SPUCIAR.P2FileNumber = SPUCIAR.FileNumber;
	SPUCIAR.P3FileNumber = SPUCIAR.FileNumber;
	SPUCIAR.P4FileNumber = SPUCIAR.FileNumber;
	SPUCIAR.P5FileNumber = SPUCIAR.FileNumber;
	SPUCIAR.P6FileNumber = SPUCIAR.FileNumber;
	SPUCIAR.P7FileNumber = SPUCIAR.FileNumber;
end;


Formula:
routine main() returns nothing,
affects "SPUCIAR.SUBLocAddress" is
begin
	CopyField("SPUCIAR.SUBPropAddress");
end;


Formula:
routine main() returns nothing is
/* no depends SPUCIAR.SUBState SPUCIAR.SUBZip */
begin
	CopyField("SPUCIAR.SUBCity");
	begin
		SPUCIAR.SUBPropCityStateZip = SPUCIAR.SUBCity + ", " + 
			SPUCIAR.SUBCState + " " + SPUCIAR.SUBZip;
	end;
	CopyField("SPUCIAR.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.SUBCounty");
end;


Formula:
routine main() returns nothing is
/* no depends SPUCIAR.SUBCity SPUCIAR.SUBZip */
begin
	CopyField("SPUCIAR.SUBState");
	begin
		SPUCIAR.SUBPropCityStateZip = SPUCIAR.SUBCity + ", " + 
			SPUCIAR.SUBCState + " " + SPUCIAR.SUBZip;
	end;
	CopyField("SPUCIAR.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
/* no depends SPUCIAR.SUBCity SPUCIAR.SUBState */
begin
	CopyField("SPUCIAR.SUBZip");
	begin
		SPUCIAR.SUBPropCityStateZip = SPUCIAR.SUBCity + ", " + 
			SPUCIAR.SUBCState + " " + SPUCIAR.SUBZip;
	end;
	CopyField("SPUCIAR.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.SUBBuilding");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.SUBCenTract");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("SPUCIAR.SUBBorrower") then
		SPUCIAR.SUBBorrower = SPUCIAR.SUBOccup_Owner;
	CopyField("SPUCIAR.SUBOccup_Owner");
end;


Formula:
routine main() returns nothing is
begin
	SPUCIAR.ZONE_APNNum = SPUCIAR.SUB_APN;
	CopyField("SPUCIAR.SUB_APN");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.SUBLenClient");
end;


Formula:
routine main() returns nothing,
affects "SPUCIAR.SUBMapRefS" is
begin
	CopyField("SPUCIAR.SUBMapRef");
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(SPUCIAR.SUB_Buyer_Other_Box) then
		SPUCIAR.SUB_Buyer_Other = "";
end;


Formula:
routine main() returns nothing is
begin
	begin
		SPUCIAR.SUBLegalDescrip = SPUCIAR.SUBLegalDescrip_#1 +
			SPUCIAR.SUBLegalDescrip_#2 + SPUCIAR.SUBLegalDescrip_#3;
	end;
	CopyField("SPUCIAR.SUBLegalDescrip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.SUBPropRights");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.SUBFuncReport");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.SUBBorrower");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.SUBCurOwner");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.SUBSalePrice");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.SUBContractPrice");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.SUBCloseDate");
end;


Formula:
routine main() returns nothing is
/* no depends SPUCIAR.NBHLand_From SPUCIAR.NBHLand_To */
begin
	if !IsEmpty(SPUCIAR.NBHLand_UnLike_Box) then
	begin
		SPUCIAR.NBHLand_From = "";
		SPUCIAR.NBHLand_To = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.ZONELegal_Yes_Box) then
		SPUCIAR.ZONELegal_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.ZONELegal_No_Box) then
		SPUCIAR.ZONELegal_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
/* no depends SPUCIAR.ZONEChange_To */
begin
	if IsEmpty(SPUCIAR.ZONEChange_Like_Box) then
		SPUCIAR.ZONEChange_To = "";
end;


Formula:
routine main() returns nothing is
/* no depends SPUCIAR.ZONEChange_To */
begin
	if !IsEmpty(SPUCIAR.ZONEChange_Not_Box) then
		SPUCIAR.ZONEChange_To = "";
end;


Formula:
routine main() returns nothing,
requires !IsEmpty(SPUCIAR.SITDimensions),
affects "SPUCIAR.IMPFloor_Ratio",
affects "SPUCIAR.IMPGrd_Ratio" is
begin
	string dim;
	integer len, xpos, x2pos, x3pos;
	float rslt, fntVal, lftVal, bckVal, rtVal;

	rslt = 0;
	dim = SPUCIAR.SITDimensions;
	len = StrLength(dim);
	xpos = StrChr(dim,"x");
	if xpos > 0 then
	begin
		fntVal = atof(dim);
		lftVal = atof(StrRight(dim,len-xpos));
		bckVal = 0;
		rtVal = 0;
		x2pos = StrChr(StrRight(dim,len-xpos),"x");
		if x2pos > 0 then
		begin
			bckVal = atof(StrRight(dim,len-xpos-x2pos));
			x3pos = Strchr(StrRight(dim,len-xpos-x2pos),"x");
			if x3pos > 0 then
				rtVal = atof(StrRight(dim,len-xpos-x2pos-x3pos));
			if fntVal != bckVal then
				Message(" Irregural Lot.  Verify calculation...");
			rslt = ((fntVal+bckVal) /2) * ((lftVal+rtVal) /2);
		end;
		else
			rslt = fntVal*lftVal;
	end;

	if StrUpper(StrLeft(SPUCIAR.SITSizeUnitType, 1)) == "A" then
	begin
		SPUCIAR.SITSize = ToString(rslt/43560.0, 5);
		SPUCIAR.SITSizeUnitType = "Acres"
	end;
	else
	begin
		SPUCIAR.SITSize = ToString(rslt,5);
		SPUCIAR.SITSizeUnitType = "Sq.Ft."
	end;
	if !IsEmpty(SPUCIAR.SITE_SizeAcres_Box) then
	begin
		SPUCIAR.SITESiteSizeS = ToString(rslt/43560.0, 5);
		SPUCIAR.SITE_SizeAcres_Box = "X";
		SPUCIAR.SITE_SizeSF_Box = "";
	end;
	else
	begin
		SPUCIAR.SITESiteSizeS = ToString(rslt, 5);
		SPUCIAR.SITE_SizeAcres_Box = "";
		SPUCIAR.SITE_SizeSF_Box = "X";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.SITEEnvir_Yes_Box) then
		SPUCIAR.SITEEnvir_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.SITEEnvir_No_Box) then
		SPUCIAR.SITEEnvir_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.SITCorner_Yes_Box) then
		SPUCIAR.SITCorner_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.SITCorner_No_Box) then
		SPUCIAR.SITCorner_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.SITUtil_No_Box) then
		SPUCIAR.SITUtil_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.SITUtil_Yes_Box) then
		SPUCIAR.SITUtil_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.SITRail_Yes_Box) then
		SPUCIAR.SITRail_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.SITRail_No_Box) then
		SPUCIAR.SITRail_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.SITEarth_Yes_Box) then
		SPUCIAR.SITEarth_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.SITEarth_No_Box) then
		SPUCIAR.SITEarth_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.SITFlood_Yes_Box) then
		SPUCIAR.SITFlood_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.SITFlood_No_Box) then
	begin
		SPUCIAR.SITFlood_Yes_Box = "";
		SPUCIAR.SITFlood_Zone = "";
	end;
end;


Formula:
routine main() returns nothing is
/* utilizes SPUCIAR.PROP_Office_Box SPUCIAR.PROP_Comm_Box 
	SPUCIAR.PROP_Indust_Box SPUCIAR.PROP_Other_Box */
begin
	string s;
	s = "";
	if !IsEmpty(SPUCIAR.PROP_Office_Box) then
		s = "Office";
	else if !IsEmpty(SPUCIAR.PROP_Comm_Box) then
		s = "Commercial";
	else if !IsEmpty(SPUCIAR.PROP_Indust_Box) then
		s = "Industrial";
	else if !IsEmpty(SPUCIAR.PROP_Other_Box) then
		s = SPUCIAR.PROP_Other;

	SPUCIAR.IMPPropType = s;
end;


Formula:
routine main() returns nothing,
affects "SPUCIAR.IMPBuilt_Ratio",
affects "SPUCIAR.IMPFloor_Ratio",
affects "SPUCIAR.IMPNumSFBA" is
begin
	SPUCIAR.IMPGrossSF_Tot = atof(SPUCIAR.IMPGrossSF_1) + atof(SPUCIAR.IMPGrossSF_2) + 
		atof(SPUCIAR.IMPGrossSF_3) + atof(SPUCIAR.IMPGrossSF_4) + atof(SPUCIAR.IMPGrossSF_5);
end;


Formula:
routine main() returns nothing,
affects "SPUCIAR.IMPBuilt_Ratio",
affects "SPUCIAR.IMPOffice_Use,SPUCIAR.IMPRetail_Use",
affects "SPUCIAR.IMPWare_Use,SPUCIAR.IMPManuf_Use",
affects "SPUCIAR.IMPDist_Use,SPUCIAR.IMPDevel_Use",
affects "SPUCIAR.IMPOther_Use" is
begin
	SPUCIAR.IMPNetSF_Tot = atof(SPUCIAR.IMPNetSF_1) + atof(SPUCIAR.IMPNetSF_2) + 
		atof(SPUCIAR.IMPNetSF_3) + atof(SPUCIAR.IMPNetSF_4) + atof(SPUCIAR.IMPNetSF_5);
end;


Formula:
routine main() returns nothing is
begin
	if atof(SPUCIAR.IMPNetSF_Tot) != 0 and !IsEmpty(SPUCIAR.IMPOffice_NetSF) then
		SPUCIAR.IMPOffice_Use = atof(SPUCIAR.IMPOffice_NetSF)/atof(SPUCIAR.IMPNetSF_Tot)*100;
	else
		SPUCIAR.IMPOffice_Use = "";
end;


Formula:
routine main() returns nothing is
begin
	if atof(SPUCIAR.IMPNetSF_Tot) != 0 and !IsEmpty(SPUCIAR.IMPRetail_NetSF) then
		SPUCIAR.IMPRetail_Use = atof(SPUCIAR.IMPRetail_NetSF)/atof(SPUCIAR.IMPNetSF_Tot)*100;
	else
		SPUCIAR.IMPRetail_Use = "";
end;


Formula:
routine main() returns nothing is
begin
	if atof(SPUCIAR.IMPNetSF_Tot) != 0 and !IsEmpty(SPUCIAR.IMPWare_NetSF) then
		SPUCIAR.IMPWare_Use = atof(SPUCIAR.IMPWare_NetSF)/atof(SPUCIAR.IMPNetSF_Tot)*100;
	else
		SPUCIAR.IMPWare_Use = "";
end;


Formula:
routine main() returns nothing is
begin
	if atof(SPUCIAR.IMPNetSF_Tot) != 0 and !IsEmpty(SPUCIAR.IMPManuf_NetSF) then
		SPUCIAR.IMPManuf_Use = atof(SPUCIAR.IMPManuf_NetSF)/atof(SPUCIAR.IMPNetSF_Tot)*100;
	else
		SPUCIAR.IMPManuf_Use = "";
end;


Formula:
routine main() returns nothing is
begin
	if atof(SPUCIAR.IMPNetSF_Tot) != 0 and !IsEmpty(SPUCIAR.IMPDist_NetSF) then
		SPUCIAR.IMPDist_Use = atof(SPUCIAR.IMPDist_NetSF)/atof(SPUCIAR.IMPNetSF_Tot)*100;
	else
		SPUCIAR.IMPDist_Use = "";
end;


Formula:
routine main() returns nothing is
begin
	if atof(SPUCIAR.IMPNetSF_Tot) != 0 and !IsEmpty(SPUCIAR.IMPDevel_NetSF) then
		SPUCIAR.IMPDevel_Use = atof(SPUCIAR.IMPDevel_NetSF)/atof(SPUCIAR.IMPNetSF_Tot)*100;
	else
		SPUCIAR.IMPDevel_Use = "";
end;


Formula:
routine main() returns nothing is
begin
	if atof(SPUCIAR.IMPNetSF_Tot) != 0 and !IsEmpty(SPUCIAR.IMPOther_NetSF) then
		SPUCIAR.IMPOther_Use = atof(SPUCIAR.IMPOther_NetSF)/atof(SPUCIAR.IMPNetSF_Tot)*100;
	else
		SPUCIAR.IMPOther_Use = "";
end;


Formula:
routine main() returns nothing is
begin
	float rsf;
	if atof(SPUCIAR.IMPGrossSF_Tot) != 0 then
	begin
		rsf=atof(IMPOffice_NetSF) + atof(IMPRetail_NetSF) + 
			atof(IMPWare_NetSF) + atof(IMPManuf_NetSF) + 
			atof(IMPDist_NetSF) + atof(IMPDevel_NetSF) + 
			atof(IMPOther_NetSF);
		SPUCIAR.IMPBuilt_Ratio = ToString(rsf/atof(SPUCIAR.IMPGrossSF_Tot)*100, 5);
	end;
end;


Formula:
routine main() returns nothing is
begin
	if atof(SPUCIAR.SITSize) != 0 then
		SPUCIAR.IMPFloor_Ratio = ToString(atof(SPUCIAR.IMPGrossSF_Tot)/atof(SPUCIAR.SITSize)*100, 5);
end;


Formula:
routine main() returns nothing is
begin
	float g;
	string f;

	if atof(SPUCIAR.SITSize) != 0 then
	begin
		g = 0;
		if StrUpper(StrLeft(SPUCIAR.IMPFloor_1,1)) == "G" then
			g = g + atof(SPUCIAR.IMPGrossSF_1);

		if StrUpper(StrLeft(SPUCIAR.IMPFloor_2,1)) == "G" then
			g = g + atof(SPUCIAR.IMPGrossSF_2);

		if StrUpper(StrLeft(SPUCIAR.IMPFloor_3,1)) == "G" then
			g = g + atof(SPUCIAR.IMPGrossSF_3);

		if StrUpper(StrLeft(SPUCIAR.IMPFloor_4,1)) == "G" then
			g = g + atof(SPUCIAR.IMPGrossSF_4);

		if StrUpper(StrLeft(SPUCIAR.IMPFloor_5,1)) == "G" then
			g = g + atof(SPUCIAR.IMPGrossSF_5);

		SPUCIAR.IMPGrd_Ratio = ToString(g/atof(SPUCIAR.SITSize)*100, 5);
	end;
	else
		SPUCIAR.IMPGrd_Ratio = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.IMP_Park_Onsite_Yes_Box) then
		SPUCIAR.IMP_Park_Onsite_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.IMP_Park_Onsite_No_Box) then
		SPUCIAR.IMP_Park_Onsite_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.IMP_Park_Adeq_No_Box) then
		SPUCIAR.IMP_Park_Adeq_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.IMP_Park_Adeq_Yes_Box) then
		SPUCIAR.IMP_Park_Adeq_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.IMP_Park_Cover_Yes_Box) then
		SPUCIAR.IMP_Park_Cover_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.IMP_Park_Cover_No_Box) then
		SPUCIAR.IMP_Park_Cover_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.IMP_Park_Gar_Yes_Box) then
		SPUCIAR.IMP_Park_Gar_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.IMP_Park_Gar_No_Box) then
		SPUCIAR.IMP_Park_Gar_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.IMP_Park_Paved_Yes_Box) then
		SPUCIAR.IMP_Park_Paved_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.IMP_Park_Paved_No_Box) then
		SPUCIAR.IMP_Park_Paved_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if atof(SPUCIAR.IMPGrossSF_Tot) != 0 then
		SPUCIAR.IMPNumSFBA = ToString(atof(SPUCIAR.IMPNumSpace)/(atof(SPUCIAR.IMPGrossSF_Tot)/1000.0), 5);
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.IMP_RailSpur_Yes_Box) then
		SPUCIAR.IMP_RailSpur_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.IMP_RailSpur_No_Box) then
		SPUCIAR.IMP_RailSpur_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	SPUCIAR.IMPRateOther1 = SPUCIAR.IMPOther1;
end;


Formula:
routine main() returns nothing is
begin
	SPUCIAR.IMPRateOther2 = SPUCIAR.IMPOther2;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("SPUCIAR.SUBLocAdress") then
		SPUCIAR.SUBLocAddress = SPUCIAR.SUBPropAddress;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("SPUCIAR.SUBMapRefS") then
		SPUCIAR.SUBMapRefS = SPUCIAR.SUBMapRef;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("SPUCIAR.SUBDateOfSaleS") then
	SPUCIAR.SUBDateOfSaleS = SPUCIAR.SUBCloseDate;
end;


Formula:
routine main() returns nothing is
begin
	SPUCIAR.SUBActPriceS = SPUCIAR.SUBContractPrice;
end;


Formula:
routine main() returns nothing,
affects "SPUCIAR.SITSize" is
begin
	if !IsEmpty(SPUCIAR.SITE_SizeSF_Box) then
		SPUCIAR.SITE_SizeAC_Box = "";
end;


Formula:
routine main() returns nothing,
affects "SPUCIAR.SITSize" is
begin
	if !IsEmpty(SPUCIAR.SITE_SizeAC_Box) then
		SPUCIAR.SITE_SizeSF_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.DSCSiteSizeSF_Box) then
		SPUCIAR.DSCSiteSizeAC_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.DSCSiteSizeAC_Box) then
		SPUCIAR.DSCSiteSizeSF_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.EFIPropInsp2_Yes_Box) then
		SPUCIAR.EFIPropInsp2_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.EFIPropInsp2_No_Box) then
		SPUCIAR.EFIPropInsp2_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.EFIPropInsp3_Yes_Box) then
		SPUCIAR.EFIPropInsp3_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.EFIPropInsp3_No_Box) then
		SPUCIAR.EFIPropInsp3_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.EFIPropQual1_Yes_Box) then
		SPUCIAR.EFIPropQual1_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.EFIPropQual1_No_Box) then
		SPUCIAR.EFIPropQual1_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.EFIPropQual2_Yes_Box) then
		SPUCIAR.EFIPropQual2_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.EFIPropQual2_No_Box) then
		SPUCIAR.EFIPropQual2_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.EFIPropQual3_Yes_Box) then
		SPUCIAR.EFIPropQual3_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.EFIPropQual3_No_Box) then
		SPUCIAR.EFIPropQual3_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.CLCDateCert");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.CLCDateCert2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.CLCDateCert3");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.CLCCertification");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.CLCAppraiser1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.CLCAppraiser2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.CLCAppraiser3");
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.CAPCashFlowAtt_Yes_Box) then
		SPUCIAR.CAPCashFlowAtt_No_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SPUCIAR.CAPCashFlowAtt_No_Box) then
		SPUCIAR.CAPCashFlowAtt_Yes_Box = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SPUCIAR.ClientCaseNumber");
	SPUCIAR.P2ClientCaseNumber = SPUCIAR.ClientCaseNumber;
	SPUCIAR.P3ClientCaseNumber = SPUCIAR.ClientCaseNumber;
	SPUCIAR.P4ClientCaseNumber = SPUCIAR.ClientCaseNumber;
	SPUCIAR.P5ClientCaseNumber = SPUCIAR.ClientCaseNumber;
	SPUCIAR.P6ClientCaseNumber = SPUCIAR.ClientCaseNumber;
	SPUCIAR.P7ClientCaseNumber = SPUCIAR.ClientCaseNumber;
end;


# SRIP1094

Formula:
routine main() returns nothing is
begin
	SRIP1094.ClientCaseNumber2 = SRIP1094.ClientCaseNumber;
	SRIP1094.ClientCaseNumber3 = SRIP1094.ClientCaseNumber;
	SRIP1094.ClientCaseNumber4 = SRIP1094.ClientCaseNumber;
	CopyField("SRIP1094.ClientCaseNumber");
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("SRIP1094.GLSAddress1") then
		SRIP1094.GLSAddress1 = SRIP1094.SUBPropAddress;

	if !Changed("SRIP1094.GRSAddress1") then
		SRIP1094.GRSAddress1 = SRIP1094.SUBPropAddress;

	if !Changed("SRIP1094.GCSAddress1") then
		SRIP1094.GSUAddress1 = SRIP1094.SUBPropAddress;

	CopyField("SRIP1094.SUBPropAddress");
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.GLSAddress2" is
/* No depends SRIP1094.SUBState SRIP1094.SUBZip */
begin
	CopyField("SRIP1094.SUBCity");
	begin
		SRIP1094.SUBPropCityStateZip = SRIP1094.SUBCity + ", " +
			SRIP1094.SUBState + " " + SRIP1094.SUBZip;
	end;
	CopyField("SRIP1094.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.GLSAddress2" is
/* No depends SRIP1094.SUBCity SRIP1094.SUBZip */
begin
	CopyField("SRIP1094.SUBState");
	begin
		SRIP1094.SUBPropCityStateZip = SRIP1094.SUBCity + ", " +
			SRIP1094.SUBState + " " + SRIP1094.SUBZip;
	end;
	CopyField("SRIP1094.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
/* No depends SRIP1094.SUBCity SRIP1094.SUBState */
begin
	CopyField("SRIP1094.SUBZip");
	begin
		SRIP1094.SUBPropCityStateZip = SRIP1094.SUBCity + ", " +
			SRIP1094.SUBState + " " + SRIP1094.SUBZip;
	end;
	CopyField("SRIP1094.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.SUBLegalDescrip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.SUBCounty");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.SUBAssessParcel");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.SUBTaxYear");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.SUBRETax");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.SUBSpecAssess");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.SUBProjName");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.SUBMapRef");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.SUBCenTract");
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SUBCurOwner") is
begin
	SRIP1094.SUBCurOwner = SRIP1094.SUBBorrower;
	CopyField("SRIP1094.SUBBorrower");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.SUBCurOwner");
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SRIP1094.SUBPRA_FeeSimple) then
	begin
		SRIP1094.GSULeasehold = "Fee Simple";
		SRIP1094.SUBPRA_Leasehold = "";
	end;
	CopyField("SRIP1094.SUBPRA_FeeSimple");
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SRIP1094.SUBPRA_Leasehold) then
	begin
		SRIP1094.GSULeasehold = "Leasehold";
		SRIP1094.SUBPRA_FeeSimple = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.SUBHOA");
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GSUSalePrice"),
affects "SRIP1094.GSUPriceGBA" is
begin
	SRIP1094.GSUSalePrice = SRIP1094.SUBSalePrice;
	CopyField("SRIP1094.SUBSalePrice");
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GSUDateOfSale") is
begin
	SRIP1094.GSUDateOfSale = SRIP1094.SUBDateOfSale;
	CopyField("SRIP1094.SUBDateOfSale");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.SUBLenClient");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.SUBLCAddress");
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.RECApprName" is
begin
	if !Changed("SRIP1094.RECApprName") then
		SRIP1094.RECApprName = SRIP1094.SUBAppraiser;
	CopyField("SRIP1094.SUBAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.SUBApprAddress");
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(SRIP1094.SFHPredOcc_Owner) and IsEmpty(SRIP1094.SFHPredOcc_Tenant) then
	begin
		SRIP1094.SFHOwnerPct = "";
		SRIP1094.SFHTenentPct = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SRIP1094.SFHPricePred") is
begin
	float price;
	price = atof(SRIP1094.SFHPricePred);
	if price < atof(SRIP1094.SFHPriceLow) then
		Message("Warning: Predominant price below low price!");
	else if price > atof(SRIP1094.SFHPriceHigh) then
		Message("Warning: Predominant price above high price!");
end;


Formula:
routine main() returns nothing,
requires Changed("SRIP1094.SFHAgePred") is
begin
	float age;
	age = atof(SRIP1094.SFHAgePred);
	if age < atof(SRIP1094.SFHAgeLow) then
		Message("Warning: Predominant age below low age!");
	else if age > atof(SRIP1094.SFHAgeHigh) then
		Message("Warning: Predominant age above high age!");
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(SRIP1094.2T4PredOcc_Owner) and IsEmpty(SRIP1094.2T4PredOcc_Tenant) then
	begin
		SRIP1094.2T4OwnerPct = "";
		SRIP1094.2T4TenentPct = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SRIP1094.2T4PricePred") is
begin
	float price;
	price = atof(SRIP1094.2T4PricePred);
	if price < atof(SRIP1094.2T4PriceLow) then
		Message("Warning: Predominant price below low price!");
	else if price > atof(SRIP1094.2T4PriceHigh) then
		Message("Warning: Predominant price above high price!");
end;


Formula:
routine main() returns nothing,
requires Changed("SRIP1094.2T4AgePred") is
begin
	float age;
	age = atof(SRIP1094.2T4AgePred);
	if age < atof(SRIP1094.2T4AgeLow) then
		Message("Warning: Predominant age below low age!");
	else if age > atof(SRIP1094.2T4AgeHigh) then
		Message("Warning: Predominant age above high age!");
end;


Formula:
routine main() returns nothing, 
requires !Changed("SRIP1094.GDSNumStories") is
begin
	SRIP1094.GDSNumStories = SRIP1094.T24Stories;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GRSUnits") is
begin
	SRIP1094.GRSUnits = SRIP1094.T24Units;
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.GDSAge",
affects "SRIP1094.GLSAge",
affects "SRIP1094.GSUAge" is
begin
	if !Changed("SRIP1094.GDSAge") then
		SRIP1094.GDSAge = SRIP1094.T24Age;
	if !Changed("SRIP1094.GDSEffectAge") then
		SRIP1094.GDSEffectAge = SRIP1094.T24Age;
	if !Changed("SRIP1094.GLSAge") then
		SRIP1094.GLSAge = SRIP1094.T24Age;
	if !Changed("SRIP1094.GSUAge") then
		SRIP1094.GSUAge = SRIP1094.T24Age;
end;


Formula:
routine main() returns nothing, 
requires !Changed("SRIP1094.LUCTo_1") and !Changed("SRIP1094.LUCTo_2")
	 and !Changed("SRIP1094.LUCTo_3") is
begin
	if !IsEmpty(SRIP1094.LUCNotLikely) then
	begin
		SRIP1094.LUCTo_1 = "";
		SRIP1094.LUCTo_2 = "";
		SRIP1094.LUCTo_3 = "";
		SRIP1094.LUCLikely = "";
		SRIP1094.LUCInProcess = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GLSAddress1");
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GLSAddress2"),
affects "SRIP1094.GL1Address2,SRIP1094.GL2Address2,SRIP1094.GL3Address2" is
begin
	begin
		SRIP1094.GLSAddress2 = SRIP1094.SUBCity + ", " + SRIP1094.SUBState;
		SRIP1094.GRSAddress2 = SRIP1094.GLSAddress2;
		SRIP1094.GSUAddress2 = SRIP1094.GLSAddress2;
	end;
	CopyField("SRIP1094.GLSAddress2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GLSListPrice");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GLSGBASqFt");
end;


Formula:
routine main() is
begin
	if !Changed("SRIP1094.GRSDataSource") then
		SRIP1094.GRSDataSource = SRIP1094.GLSDataSource;

	if !Changed("SRIP1094.GSUDataSource1") then
		SRIP1094.GSUDataSource1 = SRIP1094.GLSDataSource;
	CopyField("SRIP1094.GLSDataSource");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GLSUnits");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GLSTotRooms");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GLSBedrooms");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GLSBaths");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GLSAge");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GLSDaysMkt");
end;


Formula:
routine main() returns nothing, 
requires !Changed("SRIP1094.GL1Address2") is
/* no depends SRIP1094.GLSAddress2 */
begin
	if StrLeft(SRIP1094.GL1Address2, 1) == "#" then
		SRIP1094.GL1Address2 = SRIP1094.GLSAddress2;
end;


Formula:
routine main() returns nothing, 
requires !Changed("SRIP1094.GL2Address2") is
/* no depends SRIP1094.GLSAddress2 */
begin
	if StrLeft(SRIP1094.GL2Address2, 1) == "#" then
		SRIP1094.GL2Address2 = SRIP1094.GLSAddress2;
end;


Formula:
routine main() returns nothing, 
requires !Changed("SRIP1094.GL3Address2") is
/* no depends SRIP1094.GLSAddress2 */
begin
	if StrLeft(SRIP1094.GL3Address2, 1) == "#" then
		SRIP1094.GL3Address2 = SRIP1094.GLSAddress2;
end;


Formula:
routine main() returns nothing is 
begin
	float r, fVal, bVal, lVal, rVal;
	string d, sr;
	integer L, xpos, x2pos, x3pos;

	r = 0;
	d = SRIP1094.SITDimensions;
	L = StrLength(d);
	xpos = StrChr(d, "x");
	if xpos >= 0 then
	begin
		fVal = atof( d );
		lVal = atof( StrRight(d, L-xpos-1) );
		bVal = 0;
		rVal = 0;
		x2pos = StrChr( StrRight(d, L-xpos-1), "x" );
		if x2pos >= 0 then
		begin
			bVal = atof( StrRight(d, L-xpos-x2pos-1));
			x3pos = StrChr(StrRight(d, L-xpos-x2pos-1),"x");
			if x3pos >= 0 then
				rVal = atof( StrRight(d,L-xpos-x2pos-x3pos-1) );
			if fVal != bVal then
				Message(" Irregular lot.  Verify calculation...");
			r = ((fVal+bVal)/2) * ((lVal+rVal)/2);
		end;
		else
			r = fVal * lVal;
	end;

	If SRIP1094.SITSiteArea == "A" then
		sr = ToString(r/43560.0, 3) + " Acres";
	else if IsEmpty(SRIP1094.SITSiteArea) Then
		sr = ToString(r, 2) + " SqFt";
	else
		sr = "";

	SRIP1094.SITSiteArea = sr;
	if !Changed("SRIP1094.SITSize") then
		SRIP1094.SITSize = sr;
	if !Changed("SRIP1094.GSUSite") then
		SRIP1094.GSUSite = sr;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SRIP1094.SITCorLot_Yes) then
		SRIP1094.SITCorLot_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SRIP1094.SITCorLot_No) then
		SRIP1094.SITCorLot_Yes = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(SRIP1094.SITHBUse_Explain) then
		SRIP1094.SITHBUse_Explain = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GSUView") is
begin
	SRIP1094.GSUView = SRIP1094.SITView;
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SRIP1094.SITFldHaz_Yes) then
		SRIP1094.SITFldHaz_No = "";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(SRIP1094.SITFldHaz_No) then
	begin
		SRIP1094.SITFEMAZone = "";
		SRIP1094.SITFEMAMapDate = "";
		SRIP1094.SITFEMAMapNo = "";
		SRIP1094.SITFldHaz_Yes = "";
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GSUDesign") is
begin
	SRIP1094.GSUDesign = SRIP1094.GDSDesign;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("SRIP1094.GRSYrBuilt") then
		SRIP1094.GRSYrBuilt = SRIP1094.GDSAge;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(SRIP1094.INSRoof_Box) then
		SRIP1094.INSRoof = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(SRIP1094.INSCeiling_Box) then
		SRIP1094.INSCeiling = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(SRIP1094.INSWalls_Box) then
		SRIP1094.INSWalls = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(SRIP1094.INSFloor_Box) then
		SRIP1094.INSFloor = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(SRIP1094.INSNone_Box) then
		SRIP1094.INSNone = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GSUUnit1"),
affects "SRIP1094.RMSBsmTotSqFt,SRIP1094.RMSAGTotRooms",
affects "SRIP1094.RMSAGTotBedrooms,SRIP1094.RMSAGTotBaths" is
begin
	SRIP1094.GSUUnit1 = SRIP1094.RMSBsmUnits;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GRSBedRooms1"),
affects "SRIP1094.RMSAGTotRooms,SRIP1094.RMSAGTotBedrooms",
affects "SRIP1094.GRSTotRooms1" is
begin
	SRIP1094.GRSBedRooms1 = SRIP1094.RMSBsmBedrooms;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GRSBaths1"),
affects "SRIP1094.RMSAGTotBaths" is
begin
	SRIP1094.GRSBaths1 = SRIP1094.RMSBsmBaths;
end;


Formula:
routine main() returns nothing, 
requires !Changed("SRIP1094.RMSBsmArea"),
affects "SRIP1094.RMSBsmTotSqFt" is
begin
	if IsEmpty(SRIP1094.RMSBsmArea) then
		SRIP1094.RMSBsmArea = GetArea("BasementArea");
	if !Changed("SRIP1094.GRSGLASqFt") then
		SRIP1094.GRSGLASqFt = SRIP1094.RMSBsmArea;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.RMSBsmTotSqFt"),
affects "SRIP1094.RMSAGSqFtGBA" is
begin
	SRIP1094.RMSBsmTotSqFt = ToString(Round(atof(SRIP1094.RMSBsmArea) * atoi(SRIP1094.RMSBsmUnits)));
	if !Changed("SRIP1094.CSTLine1_SqFt") then
		SRIP1094.CSTLine1_SqFt = SRIP1094.RMSBsmTotSqFt;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GSUUnit2"),
affects "SRIP1094.RMSLv1TotSqFt,SRIP1094.RMSAGTotRooms",
affects "SRIP1094.RMSAGTotBedrooms,SRIP1094.RMSAGTotBaths" is
begin
	SRIP1094.GSUUnit2 = SRIP1094.RMSLv1Units;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GRSBedRooms2"),
affects "SRIP1094.RMSAGTotRooms,SRIP1094.RMSAGTotBedrooms",
affects "SRIP1094.GRSTotRooms2" is
begin
	SRIP1094.GRSBedRooms2 = SRIP1094.RMSLv1Bedrooms;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GRSBaths2"),
affects "SRIP1094.RMSAGTotBaths" is
begin
	SRIP1094.GRSBaths2 = SRIP1094.RMSLv1Baths;
end;


Formula:
routine main() returns nothing, 
requires !Changed("SRIP1094.RMSLv1Area"),
affects "SRIP1094.RMSLv1TotSqFt" is
begin
	if IsEmpty(SRIP1094.RMSLv1Area) then
		SRIP1094.RMSLv1Area = GetArea("LevelOneArea");
	if !Changed("SRIP1094.GRSGLASqFt2") then
		SRIP1094.GRSGLASqFt2 = SRIP1094.RMSLv1Area;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.RMSLv1TotSqFt"),
affects "SRIP1094.RMSAGSqFtGBA" is
begin
	SRIP1094.RMSLv1TotSqFt = ToString(Round(atof(SRIP1094.RMSLv1Area) * atoi(SRIP1094.RMSLv1Units)));
	if !Changed("SRIP1094.CSTLine2_SqFt") then
		SRIP1094.CSTLine2_SqFt = SRIP1094.RMSLv1TotSqFt;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GSUUnit3"),
affects "SRIP1094.RMSLv2TotSqFt,SRIP1094.RMSAGTotRooms",
affects "SRIP1094.RMSAGTotBedrooms,SRIP1094.RMSAGTotBaths" is
begin
	SRIP1094.GSUUnit3 = SRIP1094.RMSLv2Units;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GRSBedRooms3"),
affects "SRIP1094.RMSAGTotRooms,SRIP1094.RMSAGTotBedrooms",
affects "SRIP1094.GRSTotRooms3" is
begin
	SRIP1094.GRSBedRooms3 = SRIP1094.RMSLv2Bedrooms;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GRSBaths3"),
affects "SRIP1094.RMSAGTotBaths" is
begin
	SRIP1094.GRSBaths3 = SRIP1094.RMSLv2Baths;
end;


Formula:
routine main() returns nothing, 
requires !Changed("SRIP1094.RMSLv2Area"),
affects "SRIP1094.RMSLv2TotSqFt" is
begin
	if IsEmpty(SRIP1094.RMSLv2Area) then
		SRIP1094.RMSLv2Area = GetArea("LevelTwoArea");
	if !Changed("SRIP1094.GRSGLASqFt3") then
		SRIP1094.GRSGLASqFt3 = SRIP1094.RMSLv2Area;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.RMSLv2TotSqFt"),
affects "SRIP1094.RMSAGSqFtGBA" is
begin
	SRIP1094.RMSLv2TotSqFt = ToString(Round(atof(SRIP1094.RMSLv2Area) * atoi(SRIP1094.RMSLv2Units)));
	if !Changed("SRIP1094.CSTLine3_SqFt") then
		SRIP1094.CSTLine3_SqFt = SRIP1094.RMSLv2TotSqFt;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GSUUnit4"),
affects "SRIP1094.RMSOthTotSqFt,SRIP1094.RMSAGTotRooms",
affects "SRIP1094.RMSAGTotBedrooms,SRIP1094.RMSAGTotBaths" is
begin
	SRIP1094.GSUUnit4 = SRIP1094.RMSOthUnits;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GRSBedRooms4"),
affects "SRIP1094.RMSAGTotRooms,SRIP1094.RMSAGTotBedrooms",
affects "SRIP1094.GRSTotRooms4" is
begin
	SRIP1094.GRSBedRooms4 = SRIP1094.RMSOthBedrooms;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GRSBaths4"),
affects "SRIP1094.RMSAGTotBaths" is
begin
	SRIP1094.GRSBaths4 = SRIP1094.RMSOthBaths;
end;


Formula:
routine main() returns nothing, 
requires !Changed("SRIP1094.RMSOthArea"),
affects "SRIP1094.RMSOthTotSqFt" is
begin
	if IsEmpty(SRIP1094.RMSOthArea) then
		SRIP1094.RMSOthArea = GetArea("OtherAreas");
	if !Changed("SRIP1094.GRSGLASqFt4") then
		SRIP1094.GRSGLASqFt4 = SRIP1094.RMSOthArea;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.RMSOthTotSqFt"),
affects "SRIP1094.RMSAGSqFtGBA" is
begin
	SRIP1094.RMSOthTotSqFt = ToString(Round(atof(SRIP1094.RMSOthArea) * atoi(SRIP1094.RMSOthUnits)));
	if !Changed("SRIP1094.CSTLine4_SqFt") then
		SRIP1094.CSTLine4_SqFt = SRIP1094.RMSOthTotSqFt;
end;


Formula:
routine main() returns nothing is
begin
	integer t1, t2, t3, t4;
	t1 = atoi(SRIP1094.RMSBsmFoyer) + atoi(SRIP1094.RMSBsmLiving) + atoi(SRIP1094.RMSBsmDining) + 
		 atoi(SRIP1094.RMSBsmKitchen) + atoi(SRIP1094.RMSBsmDen) + atoi(SRIP1094.RMSBsmFamilyRm) +
		 atoi(SRIP1094.RMSBsmBedrooms) + atoi(SRIP1094.RMSBsmLaundry) + atoi(SRIP1094.RMSBsmOther);
	t1 = t1 * atoi(SRIP1094.RMSBsmUnits);
	t2 = atoi(SRIP1094.RMSLv1Foyer) + atoi(SRIP1094.RMSLv1Living) + atoi(SRIP1094.RMSLv1Dining) + 
		 atoi(SRIP1094.RMSLv1Kitchen) + atoi(SRIP1094.RMSLv1Den) + atoi(SRIP1094.RMSLv1FamilyRm) +
		 atoi(SRIP1094.RMSLv1Bedrooms) + atoi(SRIP1094.RMSLv1Laundry) + atoi(SRIP1094.RMSLv1Other);
	t2 = t2 * atoi(SRIP1094.RMSLv1Units);
	t3 = atoi(SRIP1094.RMSLv2Foyer) + atoi(SRIP1094.RMSLv2Living) + atoi(SRIP1094.RMSLv2Dining) + 
		 atoi(SRIP1094.RMSLv2Kitchen) + atoi(SRIP1094.RMSLv2Den) + atoi(SRIP1094.RMSLv2FamilyRm) +
		 atoi(SRIP1094.RMSLv2Bedrooms) + atoi(SRIP1094.RMSLv2Laundry) + atoi(SRIP1094.RMSLv2Other);
	t3 = t3 * atoi(SRIP1094.RMSLv2Units);
	t4 = atoi(SRIP1094.RMSOthFoyer) + atoi(SRIP1094.RMSOthLiving) + atoi(SRIP1094.RMSOthDining) + 
		 atoi(SRIP1094.RMSOthKitchen) + atoi(SRIP1094.RMSOthDen) + atoi(SRIP1094.RMSOthFamilyRm) +
		 atoi(SRIP1094.RMSOthBedrooms) + atoi(SRIP1094.RMSOthLaundry) + atoi(SRIP1094.RMSOthOther);
	t4 = t4 * atoi(SRIP1094.RMSOthUnits);
	SRIP1094.RMSAGTotRooms = ToString(t1 + t2 + t3 + t4);
	CopyField("SRIP1094.RMSAGTotRooms");

	begin
		SRIP1094.GSUTotrooms = SRIP1094.RMSAGTotRooms;
	end;
	CopyField("SRIP1094.GSUTotrooms");
end;


Formula:
routine main() returns nothing is
begin
	integer t1, t2, t3, t4;
	t1 = atoi(SRIP1094.RMSBsmBedrooms) * atoi(SRIP1094.RMSBsmUnits);
	t2 = atoi(SRIP1094.RMSLv1Bedrooms) * atoi(SRIP1094.RMSLv1Units);
	t3 = atoi(SRIP1094.RMSLv2Bedrooms) * atoi(SRIP1094.RMSLv2Units);
	t4 = atoi(SRIP1094.RMSOthBedrooms) * atoi(SRIP1094.RMSOthUnits);
	SRIP1094.RMSAGTotBedrooms = ToString(t1 + t2 + t3 + t4);
	CopyField("SRIP1094.RMSAGTotBedrooms");

	begin
		SRIP1094.GSUBedrooms = SRIP1094.RMSAGTotBedrooms;
	end;
	CopyField("SRIP1094.GSUBedrooms");
end;


Formula:
routine main() returns nothing is
begin
	integer t1, t2, t3, t4;
	t1 = atoi(SRIP1094.RMSBsmBaths) * atoi(SRIP1094.RMSBsmUnits);
	t2 = atoi(SRIP1094.RMSLv1Baths) * atoi(SRIP1094.RMSLv1Units);
	t3 = atoi(SRIP1094.RMSLv2Baths) * atoi(SRIP1094.RMSLv2Units);
	t4 = atoi(SRIP1094.RMSOthBaths) * atoi(SRIP1094.RMSOthUnits);
	SRIP1094.RMSAGTotBaths = ToString(t1 + t2 + t3 + t4);
	CopyField("SRIP1094.RMSAGTotBaths");

	begin
		SRIP1094.GSUBaths = SRIP1094.RMSAGTotBaths;
	end;
	CopyField("SRIP1094.GSUBaths");
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.GSUPriceGBA" is
begin
	integer sum;
	sum = atoi(SRIP1094.RMSBsmTotSqFt) + atoi(SRIP1094.RMSLv1TotSqFt) + 
		atoi(SRIP1094.RMSLv2TotSqFt) + atoi(SRIP1094.RMSOthTotSqFt);
	SRIP1094.RMSAGSqFtGBA = ToString(sum);

	if !Changed("SRIP1094.GSUGBASqFt") then
		SRIP1094.GSUGBASqFt = SRIP1094.RMSAGSqFtGBA;

	begin
		SRIP1094.GSUGLASqFt = SRIP1094.RMSAGSqFtGBA;
	end;
	CopyField("SRIP1094.GSUGLASqFt");
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.CSTLine1_Total"),
affects "SRIP1094.CSTTotEstCostNew" is
begin
	integer val;
	val = Round(atof(SRIP1094.CSTLine1_SqFt) * atof(SRIP1094.CSTLine1_Price));
	SRIP1094.CSTLine1_Total = ToString(val);
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.CSTLine2_Total"),
affects "SRIP1094.CSTTotEstCostNew" is
begin
	integer val;
	val = Round(atof(SRIP1094.CSTLine2_SqFt) * atof(SRIP1094.CSTLine2_Price));
	SRIP1094.CSTLine2_Total = ToString(val);
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.CSTLine3_Total"),
affects "SRIP1094.CSTTotEstCostNew" is
begin
	integer val;
	val = Round(atof(SRIP1094.CSTLine3_SqFt) * atof(SRIP1094.CSTLine3_Price));
	SRIP1094.CSTLine3_Total = ToString(val);
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.CSTLine4_Total"),
affects "SRIP1094.CSTTotEstCostNew" is
begin
	integer val;
	val	= Round(atof(SRIP1094.CSTLine4_SqFt) * atof(SRIP1094.CSTLine4_Price));
	SRIP1094.CSTLine4_Total = ToString(val);
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.CSTLine5_Total"),
affects "SRIP1094.CSTTotEstCostNew" is
begin
	integer val;
	val = Round(atof(SRIP1094.CSTLine5_SqFt) * atof(SRIP1094.CSTLine5_Price));
	SRIP1094.CSTLine5_Total = ToString(val);
end;


Formula:
routine main() returns nothing,
requires Changed("SRIP1094.CSTMarshSwftPct"),
affects "SRIP1094.CSTMarshSwftAmt" is
begin
	string pct;
	pct = SRIP1094.CSTMarshSwftPct;
	if StrRight(pct,1) != "%" then
		SRIP1094.CSTMarshSwftPct = pct + "%";
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.CSTTotEstCostNew"),
affects "SRIP1094.CSTMarshSwftAmt,SRIP1094.CSTPhysDepr_Amt,SRIP1094.CSTFuncDepr_Amt",
affects "SRIP1094.CSTExtDepr_Amt,SRIP1094.CSTDeprValImp" is
begin
	float t;
	t = atof(SRIP1094.CSTLine1_Total) + atof(SRIP1094.CSTLine2_Total) + 
		atof(SRIP1094.CSTLine3_Total) + atof(SRIP1094.CSTLine4_Total) + 
		atof(SRIP1094.CSTLine5_Total) + atof(SRIP1094.CSTExtras1_Total) + 
		atof(SRIP1094.CSTExtras2_Total) + atof(SRIP1094.CSTExtras3_Total) + 
		atof(SRIP1094.CSTExtras4_Total) + atof(SRIP1094.CSTExtras5_Total) + 
		atof(SRIP1094.CSTEngEff_Total) + atof(SRIP1094.CSTPorch_Total);
	SRIP1094.CSTTotEstCostNew = ToString(Round(t));
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.CSTMarshSwftAmt"),
affects "SRIP1094.CSTPhysDepr_Amt,SRIP1094.CSTFuncDepr_Amt",
affects "SRIP1094.CSTExtDepr_Amt,SRIP1094.CSTDeprValImp" is
begin
	float p;
	p = atof(SRIP1094.CSTMarshSwftPct);
	if p>0 then
		SRIP1094.CSTMarshSwftAmt = ToString(Round(atof(SRIP1094.CSTTotEstCostNew)*p/100));
	else
		SRIP1094.CSTMarshSwftAmt = "";
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.CSTPhysDepr_Amt" is
begin
	p = SRIP1094.CSTPhysDepr_Pct;
	if !IsEmpty(p) then
		if StrRight(p,1) != "%" then
			SRIP1094.CSTPhysDepr_Pct = p + "%";
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.CSTPhysDepr_Amt"),
affects "SRIP1094.CSTDeprTotal" is
begin
	float p, v;
	p = atof(SRIP1094.CSTPhysDepr_Pct);
	if p>0 and p<100 then
	begin
		if atof(SRIP1094.CSTMarshSwftPct) > 0 then
			v = atof(SRIP1094.CSTMarshSwftAmt);
		else
			v = atof(SRIP1094.CSTTotEstCostNew);

		SRIP1094.CSTPhysDepr_Amt = ToString(Round(v*(p/100)/100)*100);
	end;
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.CSTFuncDepr_Amt" is
begin
	p = SRIP1094.CSTFuncDepr_Pct;
	if !IsEmpty(p) then
		if StrRight(p,1) != "%" then
			SRIP1094.CSTFuncDepr_Pct = p + "%";
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.CSTFuncDepr_Amt"),
affects "SRIP1094.CSTDeprTotal" is
begin
	float p, v;
	p = atof(SRIP1094.CSTFuncDepr_Pct);
	if p>0 and p<100 then
	begin
		if atof(SRIP1094.CSTMarshSwftPct) > 0 then
			v = atof(SRIP1094.CSTMarshSwftAmt);
		else
			v = atof(SRIP1094.CSTTotEstCostNew);

		SRIP1094.CSTFuncDepr_Amt = ToString(Round(v*(p/100)/100)*100);
	end;
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.CSTExtDepr_Amt" is
begin
	p = SRIP1094.CSTExtDepr_Pct;
	if !IsEmpty(p) then
		if StrRight(p,1) != "%" then
			SRIP1094.CSTExtDepr_Pct = p + "%";
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.CSTExtDepr_Amt"),
affects "SRIP1094.CSTDeprTotal" is
begin
	float p, v;
	p = atof(SRIP1094.CSTExtDepr_Pct);
	if p>0 and p<100 then
	begin
		if atof(SRIP1094.CSTMarshSwftPct) > 0 then
			v = atof(SRIP1094.CSTMarshSwftAmt);
		else
			v = atof(SRIP1094.CSTTotEstCostNew);

		SRIP1094.CSTExtDepr_Amt = ToString(Round(v*(p/100)/100)*100);
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.CSTDeprTotal"),
affects "SRIP1094.CSTDeprValImp" is
begin
	float val;
	val = atof(SRIP1094.CSTPhysDepr_Amt) + atof(SRIP1094.CSTFuncDepr_Amt) + 
		atof(SRIP1094.CSTExtDepr_Amt);
	SRIP1094.CSTDeprTotal = ToString(0 - val, 5);
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.CSTDeprValImp"),
affects "SRIP1094.CSTIndValue" is
begin
	float v;
	if atof(SRIP1094.CSTMarshSwftPct) > 0 then
		v = atof(SRIP1094.CSTMarshSwftAmt);
	else
		v = atof(SRIP1094.CSTTotEstCostNew);

	SRIP1094.CSTDeprValImp = ToString(Round(v + atof(SRIP1094.CSTDeprTotal)));
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.CSTIndValue" is
begin
	SRIP1094.CSTSiteImpAsIs = ToString(Round(atof(SRIP1094.CSTSiteImpAsIs)));
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.CSTIndValue") is
begin
	SRIP1094.CSTIndValue = ToString(Round(atof(SRIP1094.CSTDeprValImp) + 
		atof(SRIP1094.CSTSiteImpAsIs) + atof(SRIP1094.CSTEstSiteVal)));
	if !Changed("SRIP1094.RECIVCost") then
		SRIP1094.RECIVCost = SRIP1094.CSTIndValue;
end;


Formula:
routine main() returns nothing, 
requires !Changed("SRIP1094.GR1Address2") is
begin
	if StrLeft(SRIP1094.GR1Address2, 1) == "#" then
		SRIP1094.GR1Address2 = SRIP1094.GRSAddress2;
end;


Formula:
routine main() returns nothing, 
requires !Changed("SRIP1094.GR2Address2") is
begin
	if StrLeft(SRIP1094.GR2Address2, 1) == "#" then
		SRIP1094.GR2Address2 = SRIP1094.GRSAddress2;
end;


Formula:
routine main() returns nothing, 
requires !Changed("SRIP1094.GR3Address2") is
begin
	if StrLeft(SRIP1094.GR3Address2, 1) == "#" then
		SRIP1094.GR3Address2 = SRIP1094.GRSAddress2;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GRSTotRooms1") is
begin
	integer rms;
	rms = atoi(SRIP1094.RMSBsmFoyer) + atoi(SRIP1094.RMSBsmLiving)+
		atoi(SRIP1094.RMSBsmDining) + atoi(SRIP1094.RMSBsmKitchen)+
		atoi(SRIP1094.RMSBsmDen) + atoi(SRIP1094.RMSBsmFamilyRm)+
		atoi(SRIP1094.RMSBsmBedrooms) + atoi(SRIP1094.RMSBsmLaundry)+
		atoi(SRIP1094.RMSBsmOther);
	SRIP1094.GRSTotRooms1 = ToString(rms);
	if !Changed("SRIP1094.GSUUnRoomCnt1") then
		SRIP1094.GSUUnRoomCnt1 = SRIP1094.GRSTotRooms1;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("SRIP1094.GRSBedrooms1") then
		SRIP1094.GRSBedrooms1 = SRIP1094.RMSBsmBedrooms;
	if !Changed("SRIP1094.GSUUnBedRm1") then
		SRIP1094.GSUUnBedRm1 = SRIP1094.GRSBedrooms1;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("SRIP1094.GRSBaths1") then
		SRIP1094.GRSBaths1 = SRIP1094.RMSBsmBaths;
	if !Changed("SRIP1094.GSUUnBath1") then
		SRIP1094.GSUUnBath1 = SRIP1094.GRSBaths1;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GRSGLASqFt");
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GRSTotRooms2") is
begin
	integer rms;
	rms = atoi(SRIP1094.RMSLv1Foyer) + atoi(SRIP1094.RMSLv1Living)+
		atoi(SRIP1094.RMSLv1Dining) + atoi(SRIP1094.RMSLv1Kitchen)+
		atoi(SRIP1094.RMSLv1Den) + atoi(SRIP1094.RMSLv1FamilyRm)+
		atoi(SRIP1094.RMSLv1Bedrooms) + atoi(SRIP1094.RMSLv1Laundry)+
		atoi(SRIP1094.RMSLv1Other);
	SRIP1094.GRSTotRooms2 = ToString(rms);
	if !Changed("SRIP1094.GSUUnRoomCnt2") then
		SRIP1094.GSUUnRoomCnt2 = SRIP1094.GRSTotRooms2;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("SRIP1094.GRSBedrooms2") then
		SRIP1094.GRSBedrooms2 = SRIP1094.RMSLv1Bedrooms;
	if !Changed("SRIP1094.GSUUnBedRm2") then
		SRIP1094.GSUUnBedRm2 = SRIP1094.GRSBedrooms2;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("SRIP1094.GRSBaths2") then
		SRIP1094.GRSBaths2 = SRIP1094.RMSLv1Baths;
	if !Changed("SRIP1094.GSUUnBath2") then
		SRIP1094.GSUUnBath2 = SRIP1094.GRSBaths2;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GRSGLASqFt2");
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GRSTotRooms3") is
begin
	integer rms;
	rms = atoi(SRIP1094.RMSLv2Foyer) + atoi(SRIP1094.RMSLv2Living)+
		atoi(SRIP1094.RMSLv2Dining) + atoi(SRIP1094.RMSLv2Kitchen)+
		atoi(SRIP1094.RMSLv2Den) + atoi(SRIP1094.RMSLv2FamilyRm)+
		atoi(SRIP1094.RMSLv2Bedrooms) + atoi(SRIP1094.RMSLv2Laundry)+
		atoi(SRIP1094.RMSLv2Other);
	SRIP1094.GRSTotRooms3 = ToString(rms);
	if !Changed("SRIP1094.GSUUnRoomCnt3") then
		SRIP1094.GSUUnRoomCnt3 = SRIP1094.GRSTotRooms3;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("SRIP1094.GRSBedrooms3") then
		SRIP1094.GRSBedrooms3 = SRIP1094.RMSLv2Bedrooms;
	if !Changed("SRIP1094.GSUUnBedRm3") then
		SRIP1094.GSUUnBedRm3 = SRIP1094.GRSBedrooms3;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("SRIP1094.GRSBaths3") then
		SRIP1094.GRSBaths3 = SRIP1094.RMSLv2Baths;
	if !Changed("SRIP1094.GSUUnBath3") then
		SRIP1094.GSUUnBath3 = SRIP1094.GRSBaths3;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GRSGLASqFt3");
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GRSTotRooms4") is
begin
	integer rms;
	rms = atoi(SRIP1094.RMSOthFoyer) + atoi(SRIP1094.RMSOthLiving)+
		atoi(SRIP1094.RMSOthDining) + atoi(SRIP1094.RMSOthKitchen)+
		atoi(SRIP1094.RMSOthDen) + atoi(SRIP1094.RMSOthFamilyRm)+
		atoi(SRIP1094.RMSOthBedrooms) + atoi(SRIP1094.RMSOthLaundry)+
		atoi(SRIP1094.RMSOthOther);
	SRIP1094.GRSTotRooms4 = ToString(rms);
	if !Changed("SRIP1094.GSUUnRoomCnt4") then
		SRIP1094.GSUUnRoomCnt4 = SRIP1094.GRSTotRooms4;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("SRIP1094.GRSBedrooms4") then
		SRIP1094.GRSBedrooms4 = SRIP1094.RMSOthBedrooms;
	if !Changed("SRIP1094.GSUUnBedRm4") then
		SRIP1094.GSUUnBedRm4 = SRIP1094.GRSBedrooms4;
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("SRIP1094.GRSBaths4") then
		SRIP1094.GRSBaths4 = SRIP1094.RMSOthBaths;
	if !Changed("SRIP1094.GSUUnBath4") then
		SRIP1094.GSUUnBath4 = SRIP1094.GRSBaths4;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GRSGLASqFt4");
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SRSLDBegin1") is
begin
	string s;
	integer pos;
	if IsEmpty(SRIP1094.GRSLeaseDate) then
		s = "";
	else
	begin
		s = StrTrim(SRIP1094.GRSLeaseDate);
		pos = StrChr(s," ");
		if pos>0 then
			s = StrTrim(StrLeft(s, pos-1));
		else
		begin
			pos = StrChr(s,"-");
			if pos>0 then
				s = StrTrim(StrLeft(s, pos-1));
		end;
		if StrLength(s)>8 then
			s = StrLeft(s, 8);
	end;
	SRIP1094.SRSLDBegin1 = s;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SRSLDEnd1") is
begin
	string s;
	integer len, pos;
	s = StrTrim(SRIP1094.GRSLeaseDate);
	len = StrLength(s);
	pos = 0;
	If len>0 Then
	begin
		pos = StrChr(s," ");
		If pos>0 Then
			if StrMid(s, pos+1, 1) == " " then
				s = StrTrim(StrRight(s,len-pos-2));
			else
				s = StrTrim(StrRight(s,len-pos));
		else
		begin
			pos = StrChr(s,"-");
			if pos>0 then
				if StrMid(s,pos+1,1) == " " then
					s = StrTrim(StrRight(s,len-pos-2));
				else
					s = StrTrim(StrRight(s,len-pos));
		end;
	end;
	if IsEmpty(SRIP1094.SRSLDEnd1) then
		SRIP1094.SRSLDEnd1 = StrRight(s,8);
	else if len>0 then
		SRIP1094.SRSLDEnd1 = StrRight(s,8);
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SRSARTotal1"),
affects "SRIP1094.SRSTotARent" is
begin
	if IsEmpty(SRIP1094.SRSARUnfurn1) then
		SRIP1094.SRSARTotal1 = SRIP1094.SRSARFurn1;
	else
		SRIP1094.SRSARTotal1 = SRIP1094.SRSARUnfurn1;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SRSERTotal1"),
affects "SRIP1094.SRSTotERent" is
begin
	if IsEmpty(SRIP1094.SRSERUnfurn1) then
		SRIP1094.SRSERTotal1 = SRIP1094.SRSERFurn1;
	else
		SRIP1094.SRSERTotal1 = SRIP1094.SRSERUnfurn1;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SRSARTotal2"),
affects "SRIP1094.SRSTotARent" is
begin
	if IsEmpty(SRIP1094.SRSARUnfurn2) then
		SRIP1094.SRSARTotal2 = SRIP1094.SRSARFurn2;
	else
		SRIP1094.SRSARTotal2 = SRIP1094.SRSARUnfurn2;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SRSERTotal2"),
affects "SRIP1094.SRSTotERent" is
begin
	if IsEmpty(SRIP1094.SRSERUnfurn2) then
		SRIP1094.SRSERTotal2 = SRIP1094.SRSERFurn2;
	else
		SRIP1094.SRSERTotal2 = SRIP1094.SRSERUnfurn2;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SRSARTotal3"),
affects "SRIP1094.SRSTotARent" is
begin
	if IsEmpty(SRIP1094.SRSARUnfurn3) then
		SRIP1094.SRSARTotal3 = SRIP1094.SRSARFurn3;
	else
		SRIP1094.SRSARTotal3 = SRIP1094.SRSARUnfurn3;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SRSERTotal3"),
affects "SRIP1094.SRSTotERent" is
begin
	if IsEmpty(SRIP1094.SRSERUnfurn3) then
		SRIP1094.SRSERTotal3 = SRIP1094.SRSERFurn3;
	else
		SRIP1094.SRSERTotal3 = SRIP1094.SRSERUnfurn3;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SRSARTotal4"),
affects "SRIP1094.SRSTotARent" is
begin
	if IsEmpty(SRIP1094.SRSARUnfurn4) then
		SRIP1094.SRSARTotal4 = SRIP1094.SRSARFurn4;
	else
		SRIP1094.SRSARTotal4 = SRIP1094.SRSARUnfurn4;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SRSERTotal4"),
affects "SRIP1094.SRSTotERent" is
begin
	if IsEmpty(SRIP1094.SRSERUnfurn4) then
		SRIP1094.SRSERTotal4 = SRIP1094.SRSERFurn4;
	else
		SRIP1094.SRSERTotal4 = SRIP1094.SRSERUnfurn4;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SRSTotUnits") is
/* utilizes SRIP1094.SRSUnit1 SRIP1094.SRSUnit2 SRIP1094.SRSUnit3 SRIP1094.SRSUnit4 */
begin
	integer u, f;
	u = 0;
	f = 0;
	If !IsEmpty(SRIP1094.SRSUnit1) Then
	begin
		u++;
		f = 1;
	end;

	If !IsEmpty(SRIP1094.SRSUnit2) Then
	begin
		u++;
		f = 1;
	end;

	If !IsEmpty(SRIP1094.SRSUnit3) Then
	begin
		u++;
		f = 1;
	end;

	If !IsEmpty(SRIP1094.SRSUnit4) Then
	begin
		u++;
		f = 1;
	end;

	if f then
		SRIP1094.SRSTotUnits = ToString(u);
	else
		SRIP1094.SRSTotUnits = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SRSTotVacant") is
begin
	integer sum;
	sum=atoi(SRIP1094.SRSVacant1) + atoi(SRIP1094.SRSVacant2) + 
		atoi(SRIP1094.SRSVacant3) + atoi(SRIP1094.SRSVacant4);
	SRIP1094.SRSTotVacant = ToString(sum);
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SRSTotARent") is
begin
	float sum;
	sum=atof(SRIP1094.SRSARTotal1) + atof(SRIP1094.SRSARTotal2) + 
		atof(SRIP1094.SRSARTotal3) + atof(SRIP1094.SRSARTotal4);
	SRIP1094.SRSTotARent = ToString(sum,5);
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SRSTotERent"),
affects "SRIP1094.SRSTotGrEstRnt" is
begin
	float sum;
	sum=atof(SRIP1094.SRSERTotal1) + atof(SRIP1094.SRSERTotal2) + 
		atof(SRIP1094.SRSERTotal3) + atof(SRIP1094.SRSERTotal4);
	SRIP1094.SRSTotERent = ToString(sum,5);
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SRSVacAnnual") is
begin
	float val;
	val = (atof(SRIP1094.SRSVacEst)/100)*atof(SRIP1094.SRSTotGrEstRnt)*12;
	SRIP1094.SRSVacAnnual = ToString(val,5);
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SRSTotGrEstRnt"),
affects "SRIP1094.SRSVacAnnual" is
begin
	SRIP1094.SRSTotGrEstRnt = ToString(atof(SRIP1094.SRSTotERent),5);
	if !Changed("SRIP1094.SCMEstMktRent") then
		SRIP1094.SCMEstMktRent = SRIP1094.SRSTotGrEstRnt;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(SRIP1094.SRSUtl_Other) then
		SRIP1094.SRSUtlDescrip_#1 = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUAddress1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUAddress2");
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.GSUPriceGBA,SRIP1094.GSUGrMoRent",
affects "SRIP1094.GSUPriceUnit,SRIP1094.GSUPriceRoom" is
begin
	CopyField("SRIP1094.GSUSalePrice");
end;


Formula:
routine main() returns nothing is
begin
	float gba;
	gba = atof(SRIP1094.GSUGBASqFt);
	if gba > 0 then
		SRIP1094.GSUPriceGBA = ToString(atof(SRIP1094.GSUSalePrice)/gba,5);
	else
		SRIP1094.GSUPriceGBA = "";
	CopyField("SRIP1094.GSUPriceGBA");

	SRIP1094.GSUPriceGLA = SRIP1094.GSUPriceGBA;
	CopyField("SRIP1094.GSUPriceGLA");
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GSUGRM") is
begin
	if IsEmpty(SRIP1094.GSUGrMoRent) then
		SRIP1094.GSUGrMoRent = SRIP1094.SRSTotGrEstRnt;

	if atof(SRIP1094.GSUGrMoRent) > 0 then
		SRIP1094.GSUGRM = ToString(atof(SRIP1094.GSUSalePrice)/atof(SRIP1094.GSUGrMoRent),5);
	else
		SRIP1094.GSUGRM = "";
	CopyField("SRIP1094.GSUGrMoRent");
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SCMGRM") is
begin
	SRIP1094.SCMGRM = SRIP1094.GSUGRM;
	CopyField("SRIP1094.GSUGRM");
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GSUPriceUnit") is
begin
	integer s;	
	s = atoi(SRIP1094.GSUUnit1) + atoi(SRIP1094.GSUUnit2)+
		atoi(SRIP1094.GSUUnit3) + atoi(SRIP1094.GSUUnit4);
	if s > 0 then
		SRIP1094.GSUPriceUnit = ToString(atof(SRIP1094.GSUSalePrice)/s, 5);
	else
		SRIP1094.GSUPriceUnit = "";
	CopyField("SRIP1094.GSUPriceUnit");
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GSUPriceRoom") is
begin
	integer s;
	s = atoi(SRIP1094.GSUUnRoomCnt1) + atoi(SRIP1094.GSUUnRoomCnt2) +
		atoi(SRIP1094.GSUUnRoomCnt3) + atoi(SRIP1094.GSUUnRoomCnt4);
	If s > 0 then
		SRIP1094.GSUPriceRoom = ToString(atof(SRIP1094.GSUSalePrice)/s,5);
	else
		SRIP1094.GSUPriceRoom = "";
	CopyField("SRIP1094.GSUPriceRoom");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUDataSource1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUVerfSource");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUPriorSale1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUPriorSale2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUPriorSale3");
end;


Formula:
routine main() returns nothing, 
requires !Changed("SRIP1094.GC1Address2") is
/* no depends SRIP1094.GSUAddress2 */
begin
	if StrLeft(SRIP1094.GC1Address2, 1) == "#" then
		SRIP1094.GC1Address2 = SRIP1094.GSUAddress2;
end;


Formula:
routine main() returns nothing is
begin
	float gba;
	gba = atof(SRIP1094.GC1GBASqFt);
	if gba > 0 then
		SRIP1094.GC1PriceGBA = ToString(atof(SRIP1094.GC1SalePrice)/gba,5);
	else
		SRIP1094.GC1PriceGBA = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GC1GRM") is
begin
	float gmr;
	gmr = atof(SRIP1094.GC1GrMoRent);
	If gmr>0 Then
		SRIP1094.GC1GRM = ToString(atof(SRIP1094.GC1SalePrice)/gmr, 5);
	else
		SRIP1094.GC1GRM = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GC1PriceUnit") is
begin
	integer s;
	s = atoi(SRIP1094.GC1Unit1) + atoi(SRIP1094.GC1Unit2) + 
		atoi(SRIP1094.GC1Unit3) + atoi(SRIP1094.GC1Unit4);
	if s > 0 then
		SRIP1094.GC1PriceUnit = ToString(atof(SRIP1094.GC1SalePrice)/s,5);
	else
		SRIP1094.GC1PriceUnit = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GC1PriceRoom") is
begin
	integer s;
	s = atoi(SRIP1094.GC1UnRoomCnt1) + atoi(SRIP1094.GC1UnRoomCnt2) + 
		atoi(SRIP1094.GC1UnRoomCnt3) + atoi(SRIP1094.GC1UnRoomCnt4);
	if s > 0 then
		SRIP1094.GC1PriceRoom = ToString(atof(SRIP1094.GC1SalePrice)/s,5);
	else
		SRIP1094.GC1PriceRoom = "";
end;


Formula:
routine main() returns nothing, 
requires !Changed("SRIP1094.GC2Address2") is
/* no depends SRIP1094.GSUAddress2 */
begin
	if StrLeft(SRIP1094.GC2Address2, 1) == "#" then
		SRIP1094.GC2Address2 = SRIP1094.GSUAddress2;
end;


Formula:
routine main() returns nothing is
begin
	float gba;
	gba = atof(SRIP1094.GC2GBASqFt);
	if gba > 0 then
		SRIP1094.GC2PriceGBA = ToString(atof(SRIP1094.GC2SalePrice)/gba,5);
	Else
		SRIP1094.GC2PriceGBA = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GC2GRM") is
begin
	float gmr;
	gmr = atof(SRIP1094.GC2GrMoRent);
	If gmr>0 Then
		SRIP1094.GC2GRM = ToString(atof(SRIP1094.GC2SalePrice)/gmr,5);
	else
		SRIP1094.GC2GRM = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GC2PriceUnit") is
begin
	integer s;
	s = atoi(SRIP1094.GC2Unit1) + atoi(SRIP1094.GC2Unit2) + 
		atoi(SRIP1094.GC2Unit3) + atoi(SRIP1094.GC2Unit4);
	if s > 0 then
		SRIP1094.GC2PriceUnit = ToString(atof(SRIP1094.GC2SalePrice)/s,5);
	else
		SRIP1094.GC2PriceUnit = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GC2PriceRoom") is
begin
	integer s;
	s = atoi(SRIP1094.GC2UnRoomCnt1) + atoi(SRIP1094.GC2UnRoomCnt2) + 
		atoi(SRIP1094.GC2UnRoomCnt3) + atoi(SRIP1094.GC2UnRoomCnt4);
	if s > 0 then
		SRIP1094.GC2PriceRoom = ToString(atof(SRIP1094.GC2SalePrice)/s,5);
	else
		SRIP1094.GC2PriceRoom = "";
end;


Formula:
routine main() returns nothing, 
requires !Changed("SRIP1094.GC3Address2") is
/* no depends SRIP1094.GSUAddress2 */
begin
	if StrLeft(SRIP1094.GC3Address2, 1) == "#" then
		SRIP1094.GC3Address2 = SRIP1094.GSUAddress2;
end;


Formula:
routine main() returns nothing is
begin
	float gba;
	gba = atof(SRIP1094.GC3GBASqFt);
	if gba > 0 then
		SRIP1094.GC3PriceGBA = ToString(atof(SRIP1094.GC3SalePrice)/gba,5);
	Else
		SRIP1094.GC3PriceGBA = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GC3GRM") is
begin
	float gmr;
	gmr = atof(SRIP1094.GC3GrMoRent);
	If gmr>0 Then
		SRIP1094.GC3GRM = ToString(atof(SRIP1094.GC3SalePrice)/gmr,5);
	else
		SRIP1094.GC3GRM = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GC3PriceUnit") is
begin
	integer s;
	s = atoi(SRIP1094.GC3Unit1) + atoi(SRIP1094.GC3Unit2) + 
		atoi(SRIP1094.GC3Unit3) + atoi(SRIP1094.GC3Unit4);
	if s > 0 then
		SRIP1094.GC3PriceUnit = ToString(atof(SRIP1094.GC3SalePrice)/s,5);
	else
		SRIP1094.GC3PriceUnit = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GC3PriceRoom") is
begin
	integer s;
	s = atoi(SRIP1094.GC3UnRoomCnt1) + atoi(SRIP1094.GC3UnRoomCnt2) + 
		atoi(SRIP1094.GC3UnRoomCnt3) + atoi(SRIP1094.GC3UnRoomCnt4);
	if s > 0 then
		SRIP1094.GC3PriceRoom = ToString(atof(SRIP1094.GC3SalePrice)/s,5);
	else
		SRIP1094.GC3PriceRoom = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUSalesFin1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUSalesFin2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUDateOfSale");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSULocation");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSULeasehold");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUSite");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUView");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUDesign");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUQualConst");
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(SRIP1094.GSUAge) then
		SRIP1094.GSUAge = SRIP1094.T24Age;
	CopyField("SRIP1094.GSUAge");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUCondition");
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.GSUPriceGBA" is
begin
	CopyField("SRIP1094.GSUGBASqFt");
end;


Formula:
routine main() returns nothing,
requires Changed("SRIP1094.GC1SiteAdj"),
affects "SRIP1094.GC1NetAdj",
affects "SRIP1094.GC2NetAdj",
affects "SRIP1094.GC3NetAdj",
affects "SRIP1094.GC1GrossPct_Value,SRIP1094.GC1NetPct_Value",
affects "SRIP1094.GC2GrossPct_Value,SRIP1094.GC2NetPct_Value",
affects "SRIP1094.GC3GrossPct_Value,SRIP1094.GC3NetPct_Value" is
/* no depends SRIP1094.GSUSite SRIP1094.GC1Site SRIP1094.GC2Site SRIP1094.GC3Site */
begin
	string n;
	float site, adj;
	n = SRIP1094.GC1SiteAdj;
	if StrLeft(n,1) == "$" then
	begin
		site = atof(SRIP1094.GSUSite);
		adj = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(SRIP1094.GC1Site) then
			SRIP1094.GC1SiteAdj = ToString(Round(((site-atof(SRIP1094.GC1Site))*adj)/100)*100);
		Else
			SRIP1094.GC1SiteAdj = "";

		if !IsEmpty(SRIP1094.GC2Site) then
			SRIP1094.GC2SiteAdj = ToString(Round(((site-atof(SRIP1094.GC2Site))*adj)/100)*100);
		Else
			SRIP1094.GC2SiteAdj = "";

		if !IsEmpty(SRIP1094.GC3Site) then
			SRIP1094.GC3SiteAdj = ToString(Round(((site-atof(SRIP1094.GC3Site))*adj)/100)*100);
		Else
			SRIP1094.GC3SiteAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SRIP1094.GC1AgeAdj"),
affects "SRIP1094.GC1NetAdj",
affects "SRIP1094.GC2NetAdj",
affects "SRIP1094.GC3NetAdj",
affects "SRIP1094.GC1GrossPct_Value,SRIP1094.GC1NetPct_Value",
affects "SRIP1094.GC2GrossPct_Value,SRIP1094.GC2NetPct_Value",
affects "SRIP1094.GC3GrossPct_Value,SRIP1094.GC3NetPct_Value" is
/* no depends SRIP1094.GSUAge SRIP1094.GC1Age SRIP1094.GC2Age SRIP1094.GC3Age */
begin
	string n;
	float age, adj;
	n = SRIP1094.GC1AgeAdj;
	if StrLeft(n,1) == "$" then
	begin
		age = atof(SRIP1094.GSUAge);
		adj = atof(StrRight(n,StrLength(n)-1));
		if age < 1000 then
			adj = 0-adj;

		if !IsEmpty(SRIP1094.GC1Age) then
			SRIP1094.GC1AgeAdj = ToString(Round(((age-atof(SRIP1094.GC1Age))*adj)/100)*100);
		else
			SRIP1094.GC1AgeAdj = "";

		if !IsEmpty(SRIP1094.GC2Age) then
			SRIP1094.GC2AgeAdj = ToString(Round(((age-atof(SRIP1094.GC2Age))*adj)/100)*100);
		else
			SRIP1094.GC2AgeAdj = "";

		if !IsEmpty(SRIP1094.GC3Age) then
			SRIP1094.GC3AgeAdj = ToString(Round(((age-atof(SRIP1094.GC3Age))*adj)/100)*100);
		else
			SRIP1094.GC3AgeAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SRIP1094.GC1GBASqFtAdj"),
affects "SRIP1094.GC1NetAdj",
affects "SRIP1094.GC2NetAdj",
affects "SRIP1094.GC3NetAdj",
affects "SRIP1094.GC1GrossPct_Value,SRIP1094.GC1NetPct_Value",
affects "SRIP1094.GC2GrossPct_Value,SRIP1094.GC2NetPct_Value",
affects "SRIP1094.GC3GrossPct_Value,SRIP1094.GC3NetPct_Value" is
/* no depends SRIP1094.GSUGBASqFt SRIP1094.GC1GBASqFt SRIP1094.GC2GBASqFt SRIP1094.GC3GBASqFt */
begin
	string n;
	float sqft, adj;
	n = SRIP1094.GC1GBASqFtAdj;
	if StrLeft(n,1) == "$" then
	begin
		sqft = atof(SRIP1094.GSUGBASqFt);
		adj = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(SRIP1094.GC1GBASqFt) then
			SRIP1094.GC1GBASqFtAdj = ToString(Round(((sqft-atof(SRIP1094.GC1GBASqFt))*adj)/100)*100);
		Else
			SRIP1094.GC1GBASqFtAdj = "";

		if !IsEmpty(SRIP1094.GC2GBASqFt) then
			SRIP1094.GC2GBASqFtAdj = ToString(Round(((sqft-atof(SRIP1094.GC2GBASqFt))*adj)/100)*100);
		Else
			SRIP1094.GC2GBASqFtAdj = "";

		if !IsEmpty(SRIP1094.GC3GBASqFt) then
			SRIP1094.GC3GBASqFtAdj = ToString(Round(((sqft-atof(SRIP1094.GC3GBASqFt))*adj)/100)*100);
		Else
			SRIP1094.GC3GBASqFtAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SRIP1094.GC2SiteAdj"),
affects "SRIP1094.GC1NetAdj",
affects "SRIP1094.GC2NetAdj",
affects "SRIP1094.GC3NetAdj",
affects "SRIP1094.GC1GrossPct_Value,SRIP1094.GC1NetPct_Value",
affects "SRIP1094.GC2GrossPct_Value,SRIP1094.GC2NetPct_Value",
affects "SRIP1094.GC3GrossPct_Value,SRIP1094.GC3NetPct_Value" is
/* no depends SRIP1094.GSUSite SRIP1094.GC1Site SRIP1094.GC2Site SRIP1094.GC3Site */
begin
	string n;
	float site, adj;
	n = SRIP1094.GC2SiteAdj;
	if StrLeft(n,1) == "$" then
	begin
		site = atof(SRIP1094.GSUSite);
		adj = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(SRIP1094.GC1Site) then
			SRIP1094.GC1SiteAdj = ToString(Round(((site-atof(SRIP1094.GC1Site))*adj)/100)*100);
		Else
			SRIP1094.GC1SiteAdj = "";

		if !IsEmpty(SRIP1094.GC2Site) then
			SRIP1094.GC2SiteAdj = ToString(Round(((site-atof(SRIP1094.GC2Site))*adj)/100)*100);
		Else
			SRIP1094.GC2SiteAdj = "";

		if !IsEmpty(SRIP1094.GC3Site) then
			SRIP1094.GC3SiteAdj = ToString(Round(((site-atof(SRIP1094.GC3Site))*adj)/100)*100);
		Else
			SRIP1094.GC3SiteAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SRIP1094.GC2AgeAdj"),
affects "SRIP1094.GC1NetAdj",
affects "SRIP1094.GC2NetAdj",
affects "SRIP1094.GC3NetAdj",
affects "SRIP1094.GC1GrossPct_Value,SRIP1094.GC1NetPct_Value",
affects "SRIP1094.GC2GrossPct_Value,SRIP1094.GC2NetPct_Value",
affects "SRIP1094.GC3GrossPct_Value,SRIP1094.GC3NetPct_Value" is
/* no depends SRIP1094.GSUAge SRIP1094.GC1Age SRIP1094.GC2Age SRIP1094.GC3Age */
begin
	string n;
	float age, adj;
	n = SRIP1094.GC2AgeAdj;
	if StrLeft(n,1) == "$" then
	begin
		age = atof(SRIP1094.GSUAge);
		adj = atof(StrRight(n,StrLength(n)-1));
		if age < 1000 then
			adj = 0-adj;

		if !IsEmpty(SRIP1094.GC1Age) then
			SRIP1094.GC1AgeAdj = ToString(Round(((age-atof(SRIP1094.GC1Age))*adj)/100)*100);
		else
			SRIP1094.GC1AgeAdj = "";

		if !IsEmpty(SRIP1094.GC2Age) then
			SRIP1094.GC2AgeAdj = ToString(Round(((age-atof(SRIP1094.GC2Age))*adj)/100)*100);
		else
			SRIP1094.GC2AgeAdj = "";

		if !IsEmpty(SRIP1094.GC3Age) then
			SRIP1094.GC3AgeAdj = ToString(Round(((age-atof(SRIP1094.GC3Age))*adj)/100)*100);
		else
			SRIP1094.GC3AgeAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SRIP1094.GC2GBASqFtAdj"),
affects "SRIP1094.GC1NetAdj",
affects "SRIP1094.GC2NetAdj",
affects "SRIP1094.GC3NetAdj",
affects "SRIP1094.GC1GrossPct_Value,SRIP1094.GC1NetPct_Value",
affects "SRIP1094.GC2GrossPct_Value,SRIP1094.GC2NetPct_Value",
affects "SRIP1094.GC3GrossPct_Value,SRIP1094.GC3NetPct_Value" is
/* no depends SRIP1094.GSUGBASqFt SRIP1094.GC1GBASqFt SRIP1094.GC2GBASqFt SRIP1094.GC3GBASqFt */
begin
	string n;
	float sqft, adj;
	n = SRIP1094.GC2GBASqFtAdj;
	if StrLeft(n,1) == "$" then
	begin
		sqft = atof(SRIP1094.GSUGBASqFt);
		adj = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(SRIP1094.GC1GBASqFt) then
			SRIP1094.GC1GBASqFtAdj = ToString(Round(((sqft-atof(SRIP1094.GC1GBASqFt))*adj)/100)*100);
		Else
			SRIP1094.GC1GBASqFtAdj = "";

		if !IsEmpty(SRIP1094.GC2GBASqFt) then
			SRIP1094.GC2GBASqFtAdj = ToString(Round(((sqft-atof(SRIP1094.GC2GBASqFt))*adj)/100)*100);
		Else
			SRIP1094.GC2GBASqFtAdj = "";

		if !IsEmpty(SRIP1094.GC3GBASqFt) then
			SRIP1094.GC3GBASqFtAdj = ToString(Round(((sqft-atof(SRIP1094.GC3GBASqFt))*adj)/100)*100);
		Else
			SRIP1094.GC3GBASqFtAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SRIP1094.GC3SiteAdj"),
affects "SRIP1094.GC1NetAdj",
affects "SRIP1094.GC2NetAdj",
affects "SRIP1094.GC3NetAdj",
affects "SRIP1094.GC1GrossPct_Value,SRIP1094.GC1NetPct_Value",
affects "SRIP1094.GC2GrossPct_Value,SRIP1094.GC2NetPct_Value",
affects "SRIP1094.GC3GrossPct_Value,SRIP1094.GC3NetPct_Value" is
/* no depends SRIP1094.GSUSite SRIP1094.GC1Site SRIP1094.GC2Site SRIP1094.GC3Site */
begin
	string n;
	float site, adj;
	n = SRIP1094.GC3SiteAdj;
	if StrLeft(n,1) == "$" then
	begin
		site = atof(SRIP1094.GSUSite);
		adj = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(SRIP1094.GC1Site) then
			SRIP1094.GC1SiteAdj = ToString(Round(((site-atof(SRIP1094.GC1Site))*adj)/100)*100);
		Else
			SRIP1094.GC1SiteAdj = "";

		if !IsEmpty(SRIP1094.GC2Site) then
			SRIP1094.GC2SiteAdj = ToString(Round(((site-atof(SRIP1094.GC2Site))*adj)/100)*100);
		Else
			SRIP1094.GC2SiteAdj = "";

		if !IsEmpty(SRIP1094.GC3Site) then
			SRIP1094.GC3SiteAdj = ToString(Round(((site-atof(SRIP1094.GC3Site))*adj)/100)*100);
		Else
			SRIP1094.GC3SiteAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SRIP1094.GC3AgeAdj"),
affects "SRIP1094.GC1NetAdj",
affects "SRIP1094.GC2NetAdj",
affects "SRIP1094.GC3NetAdj",
affects "SRIP1094.GC1GrossPct_Value,SRIP1094.GC1NetPct_Value",
affects "SRIP1094.GC2GrossPct_Value,SRIP1094.GC2NetPct_Value",
affects "SRIP1094.GC3GrossPct_Value,SRIP1094.GC3NetPct_Value" is
/* no depends SRIP1094.GSUAge SRIP1094.GC1Age SRIP1094.GC2Age SRIP1094.GC3Age */
begin
	string n;
	float age, adj;
	n = SRIP1094.GC3AgeAdj;
	if StrLeft(n,1) == "$" then
	begin
		age = atof(SRIP1094.GSUAge);
		adj = atof(StrRight(n,StrLength(n)-1));
		if age < 1000 then
			adj = 0-adj;

		if !IsEmpty(SRIP1094.GC1Age) then
			SRIP1094.GC1AgeAdj = ToString(Round(((age-atof(SRIP1094.GC1Age))*adj)/100)*100);
		else
			SRIP1094.GC1AgeAdj = "";

		if !IsEmpty(SRIP1094.GC2Age) then
			SRIP1094.GC2AgeAdj = ToString(Round(((age-atof(SRIP1094.GC2Age))*adj)/100)*100);
		else
			SRIP1094.GC2AgeAdj = "";

		if !IsEmpty(SRIP1094.GC3Age) then
			SRIP1094.GC3AgeAdj = ToString(Round(((age-atof(SRIP1094.GC3Age))*adj)/100)*100);
		else
			SRIP1094.GC3AgeAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SRIP1094.GC3GBASqFtAdj"),
affects "SRIP1094.GC1NetAdj",
affects "SRIP1094.GC2NetAdj",
affects "SRIP1094.GC3NetAdj",
affects "SRIP1094.GC1GrossPct_Value,SRIP1094.GC1NetPct_Value",
affects "SRIP1094.GC2GrossPct_Value,SRIP1094.GC2NetPct_Value",
affects "SRIP1094.GC3GrossPct_Value,SRIP1094.GC3NetPct_Value" is
/* no depends SRIP1094.GSUGBASqFt SRIP1094.GC1GBASqFt SRIP1094.GC2GBASqFt SRIP1094.GC3GBASqFt */
begin
	string n;
	float sqft, adj;
	n = SRIP1094.GC3GBASqFtAdj;
	if StrLeft(n,1) == "$" then
	begin
		sqft = atof(SRIP1094.GSUGBASqFt);
		adj = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(SRIP1094.GC1GBASqFt) then
			SRIP1094.GC1GBASqFtAdj = ToString(Round(((sqft-atof(SRIP1094.GC1GBASqFt))*adj)/100)*100);
		Else
			SRIP1094.GC1GBASqFtAdj = "";

		if !IsEmpty(SRIP1094.GC2GBASqFt) then
			SRIP1094.GC2GBASqFtAdj = ToString(Round(((sqft-atof(SRIP1094.GC2GBASqFt))*adj)/100)*100);
		Else
			SRIP1094.GC2GBASqFtAdj = "";

		if !IsEmpty(SRIP1094.GC3GBASqFt) then
			SRIP1094.GC3GBASqFtAdj = ToString(Round(((sqft-atof(SRIP1094.GC3GBASqFt))*adj)/100)*100);
		Else
			SRIP1094.GC3GBASqFtAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.GSUPriceUnit" is
begin
	CopyField("SRIP1094.GSUUnit1");
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.GSUPriceRoom" is
begin
	CopyField("SRIP1094.GSUUnRoomCnt1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUUnBedRm1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUUnBath1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUUnVacant1");
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.GSUPriceUnit" is
begin
	CopyField("SRIP1094.GSUUnit2");
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.GSUPriceRoom" is
begin
	CopyField("SRIP1094.GSUUnRoomCnt2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUUnBedRm2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUUnBath2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUUnVacant2");
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.GSUPriceUnit" is
begin
	CopyField("SRIP1094.GSUUnit3");
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.GSUPriceRoom" is
begin
	CopyField("SRIP1094.GSUUnRoomCnt3");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUUnBedRm3");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUUnBath3");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUUnVacant3");
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.GSUPriceUnit" is
begin
	CopyField("SRIP1094.GSUUnit4");
end;


Formula:
routine main() returns nothing,
affects "SRIP1094.GSUPriceRoom" is
begin
	CopyField("SRIP1094.GSUUnRoomCnt4");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUUnBedRm4");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUUnBath4");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUUnVacant4");
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GSUBsmRooms1") is
begin
	string r, c, p;
	r = "";
	p = SRIP1094.BSMAreaSF;
	c = SRIP1094.BSMPctFinished;
	If !IsEmpty(p) Then
	begin
		r = p + "%";
		If !IsEmpty(c) Then
			r = r + "-";
	End;
	SRIP1094.GSUBsmRooms1 = r + c;
	CopyField("SRIP1094.GSUBsmRooms1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUFuncUtil");
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GSUHeatCool") is
begin
	string h, c;
	h = SRIP1094.HACHeatType;
	c = SRIP1094.HACCoolCentral;
	if StrLower(Strleft(c,3)) == "yes" then
		c = "Central";
	else if IsEmpty(c) or StrLower(StrLeft(c,2)) == "no" then
		c = SRIP1094.HACCoolCondition;

	if IsEmpty(h) then
		f = c;
	else if IsEmpty(c) then
		f = h;
	else
		f = h + "/" + c;

	SRIP1094.GSUHeatCool = f;
	CopyField("SRIP1094.GSUHeatCool");
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.GSUGarCpt") is
begin
	string f;
	f = "";
	If !IsEmpty(SRIP1094.CARAdeq_Box) Then
		f = "Adequate  ";
	else if !IsEmpty(SRIP1094.CARInad_Box) Then
		f = "Inadequate";
	else
		f = "";

	SRIP1094.GSUGarCpt = f;
	CopyField("SRIP1094.GSUGarCpt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUComElem1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUComElem2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUComElem3");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.GSUExtraItem");
end;


Formula:
routine main() returns nothing,
requires Changed("SRIP1094.GC1BsmRooms1Adj"),
affects "SRIP1094.GC1NetAdj",
affects "SRIP1094.GC2NetAdj",
affects "SRIP1094.GC3NetAdj",
affects "SRIP1094.GC1GrossPct_Value,SRIP1094.GC1NetPct_Value",
affects "SRIP1094.GC2GrossPct_Value,SRIP1094.GC2NetPct_Value",
affects "SRIP1094.GC3GrossPct_Value,SRIP1094.GC3NetPct_Value" is
/* no depends SRIP1094.GSUBsmRooms1 SRIP1094.GC1BsmRooms1 SRIP1094.GC2BsmRooms1 SRIP1094.GC3BsmRooms1 */
begin
	string n;
	float sqft, adj;
	n = SRIP1094.GC1BsmRooms1Adj;
	if StrLeft(n,1) == "$" then
	begin
		sqft = atof(SRIP1094.GSUBsmRooms1);
		adj = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(SRIP1094.GC1BsmRooms1) then
			SRIP1094.GC1BsmRooms1Adj = ToString(Round(((sqft-atof(SRIP1094.GC1BsmRooms1))*adj)/100)*100);
		Else
			SRIP1094.GC1BsmRooms1Adj = "";

		if !IsEmpty(SRIP1094.GC2BsmRooms1) then
			SRIP1094.GC2BsmRooms1Adj = ToString(Round(((sqft-atof(SRIP1094.GC2BsmRooms1))*adj)/100)*100);
		Else
			SRIP1094.GC2BsmRooms1Adj = "";

		if !IsEmpty(SRIP1094.GC3BsmRooms1) then
			SRIP1094.GC3BsmRooms1Adj = ToString(Round(((sqft-atof(SRIP1094.GC3BsmRooms1))*adj)/100)*100);
		Else
			SRIP1094.GC3BsmRooms1Adj = "";
	end;
end;


Formula:
routine main() returns nothing is
/* no depends SRIP1094.GC1NetAdj_Plus SRIP1094.GC1NetAdj_Minus */
begin
	float adj, price;
	adj=atof(SRIP1094.GC1SalesFin1Adj)+	atof(SRIP1094.GC1SalesFin2Adj)+
		atof(SRIP1094.GC1DateOfSaleAdj)+atof(SRIP1094.GC1LocationAdj)+
		atof(SRIP1094.GC1LeaseholdAdj)+	atof(SRIP1094.GC1SiteAdj)+
		atof(SRIP1094.GC1ViewAdj)+		atof(SRIP1094.GC1DesignAdj)+
		atof(SRIP1094.GC1QualConstAdj)+	atof(SRIP1094.GC1AgeAdj)+
		atof(SRIP1094.GC1ConditionAdj)+	atof(SRIP1094.GC1GBASqFtAdj)+
		atof(SRIP1094.GC1UnitAdj1)+		atof(SRIP1094.GC1UnitAdj2)+
		atof(SRIP1094.GC1UnitAdj3)+		atof(SRIP1094.GC1UnitAdj4)+
		atof(SRIP1094.GC1UnitAdj5)+		atof(SRIP1094.GC1UnitAdj6)+
		atof(SRIP1094.GC1BsmRooms1Adj)+	atof(SRIP1094.GC1FuncUtilAdj)+
		atof(SRIP1094.GC1HeatCoolAdj)+	atof(SRIP1094.GC1GarCptAdj)+
		atof(SRIP1094.GC1ComElem1Adj)+	atof(SRIP1094.GC1ComElem2Adj)+
		atof(SRIP1094.GC1ComElem3Adj);
	price = atof(SRIP1094.GC1SalePrice);

	SRIP1094.GC1NetAdj = ToString(adj,5);
	if adj >= 0 Then
	begin
		SRIP1094.GC1NetAdj_Plus = "X";
		SRIP1094.GC1NetAdj_Minus = "";
	end;
	else
	begin
		SRIP1094.GC1NetAdj_Plus = "";
		SRIP1094.GC1NetAdj_Minus = "X";
	end;

	SRIP1094.GC1AdjSalePrice = ToString(price + adj,5);
end;


Formula:
routine main() returns nothing is
begin
	float sum, price;

	price = atof(SRIP1094.GC1SalePrice);
	if price != 0 then
	begin
		sum=abs(atof(SRIP1094.GC1SalesFin1Adj)) +	abs(atof(SRIP1094.GC1SalesFin2Adj)) +
			abs(atof(SRIP1094.GC1DateOfSaleAdj)) +	abs(atof(SRIP1094.GC1LocationAdj)) +
			abs(atof(SRIP1094.GC1LeaseholdAdj)) +	abs(atof(SRIP1094.GC1SiteAdj)) +
			abs(atof(SRIP1094.GC1ViewAdj)) +		abs(atof(SRIP1094.GC1DesignAdj)) +
			abs(atof(SRIP1094.GC1QualConstAdj)) +	abs(atof(SRIP1094.GC1AgeAdj)) +
			abs(atof(SRIP1094.GC1ConditionAdj)) +	abs(atof(SRIP1094.GC1GBASqFtAdj)) +
			abs(atof(SRIP1094.GC1UnitAdj1)) +		abs(atof(SRIP1094.GC1UnitAdj2)) +
			abs(atof(SRIP1094.GC1UnitAdj3)) +		abs(atof(SRIP1094.GC1UnitAdj4)) +
			abs(atof(SRIP1094.GC1UnitAdj5)) +		abs(atof(SRIP1094.GC1UnitAdj6)) +
			abs(atof(SRIP1094.GC1BsmRooms1Adj)) +	abs(atof(SRIP1094.GC1FuncUtilAdj)) +
			abs(atof(SRIP1094.GC1HeatCoolAdj)) +	abs(atof(SRIP1094.GC1GarCptAdj)) +
			abs(atof(SRIP1094.GC1ComElem1Adj)) +	abs(atof(SRIP1094.GC1ComElem2Adj)) +
			abs(atof(SRIP1094.GC1ComElem3Adj));

		SRIP1094.GC1GrossPct_Value = ToString(sum/price*100, 5);
		SRIP1094.GC1GrossPct_Sign = "G:";
	end;
	else
	begin
		SRIP1094.GC1GrossPct_Value = "";
		SRIP1094.GC1GrossPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float sum, price;

	price = atof(SRIP1094.GC1SalePrice);
	if price != 0 then
	begin
		sum=atof(SRIP1094.GC1SalesFin1Adj)+	atof(SRIP1094.GC1SalesFin2Adj)+
			atof(SRIP1094.GC1DateOfSaleAdj)+atof(SRIP1094.GC1LocationAdj)+
			atof(SRIP1094.GC1LeaseholdAdj)+	atof(SRIP1094.GC1SiteAdj)+
			atof(SRIP1094.GC1ViewAdj)+		atof(SRIP1094.GC1DesignAdj)+
			atof(SRIP1094.GC1QualConstAdj)+	atof(SRIP1094.GC1AgeAdj)+
			atof(SRIP1094.GC1ConditionAdj)+	atof(SRIP1094.GC1GBASqFtAdj)+
			atof(SRIP1094.GC1UnitAdj1)+		atof(SRIP1094.GC1UnitAdj2)+
			atof(SRIP1094.GC1UnitAdj3)+		atof(SRIP1094.GC1UnitAdj4)+
			atof(SRIP1094.GC1UnitAdj5)+		atof(SRIP1094.GC1UnitAdj6)+
			atof(SRIP1094.GC1BsmRooms1Adj)+	atof(SRIP1094.GC1FuncUtilAdj)+
			atof(SRIP1094.GC1HeatCoolAdj)+	atof(SRIP1094.GC1GarCptAdj)+
			atof(SRIP1094.GC1ComElem1Adj)+	atof(SRIP1094.GC1ComElem2Adj)+
			atof(SRIP1094.GC1ComElem3Adj);

		SRIP1094.GC1NetPct_Value = ToString(Abs(sum)/price*100, 5);
		SRIP1094.GC1NetPct_Sign = "N:";
	end;
	else
	begin
		SRIP1094.GC1NetPct_Value = "";
		SRIP1094.GC1NetPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SRIP1094.GC2BsmRooms1Adj"),
affects "SRIP1094.GC1NetAdj",
affects "SRIP1094.GC2NetAdj",
affects "SRIP1094.GC3NetAdj",
affects "SRIP1094.GC1GrossPct_Value,SRIP1094.GC1NetPct_Value",
affects "SRIP1094.GC2GrossPct_Value,SRIP1094.GC2NetPct_Value",
affects "SRIP1094.GC3GrossPct_Value,SRIP1094.GC3NetPct_Value" is
/* no depends SRIP1094.GSUBsmRooms1 SRIP1094.GC1BsmRooms1 SRIP1094.GC2BsmRooms1 SRIP1094.GC3BsmRooms1 */
begin
	string n;
	float sqft, adj;
	n = SRIP1094.GC2BsmRooms1Adj;
	if StrLeft(n,1) == "$" then
	begin
		sqft = atof(SRIP1094.GSUBsmRooms1);
		adj = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(SRIP1094.GC1BsmRooms1) then
			SRIP1094.GC1BsmRooms1Adj = ToString(Round(((sqft-atof(SRIP1094.GC1BsmRooms1))*adj)/100)*100);
		Else
			SRIP1094.GC1BsmRooms1Adj = "";

		if !IsEmpty(SRIP1094.GC2BsmRooms1) then
			SRIP1094.GC2BsmRooms1Adj = ToString(Round(((sqft-atof(SRIP1094.GC2BsmRooms1))*adj)/100)*100);
		Else
			SRIP1094.GC2BsmRooms1Adj = "";

		if !IsEmpty(SRIP1094.GC3BsmRooms1) then
			SRIP1094.GC3BsmRooms1Adj = ToString(Round(((sqft-atof(SRIP1094.GC3BsmRooms1))*adj)/100)*100);
		Else
			SRIP1094.GC3BsmRooms1Adj = "";
	end;
end;


Formula:
routine main() returns nothing is
/* no depends SRIP1094.GC2NetAdj_Plus SRIP1094.GC2NetAdj_Minus */
begin
	float adj, price;
	adj=atof(SRIP1094.GC2SalesFin1Adj)+	atof(SRIP1094.GC2SalesFin2Adj)+
		atof(SRIP1094.GC2DateOfSaleAdj)+atof(SRIP1094.GC2LocationAdj)+
		atof(SRIP1094.GC2LeaseholdAdj)+	atof(SRIP1094.GC2SiteAdj)+
		atof(SRIP1094.GC2ViewAdj)+		atof(SRIP1094.GC2DesignAdj)+
		atof(SRIP1094.GC2QualConstAdj)+	atof(SRIP1094.GC2AgeAdj)+
		atof(SRIP1094.GC2ConditionAdj)+	atof(SRIP1094.GC2GBASqFtAdj)+
		atof(SRIP1094.GC2UnitAdj1)+		atof(SRIP1094.GC2UnitAdj2)+
		atof(SRIP1094.GC2UnitAdj3)+		atof(SRIP1094.GC2UnitAdj4)+
		atof(SRIP1094.GC2UnitAdj5)+		atof(SRIP1094.GC2UnitAdj6)+
		atof(SRIP1094.GC2BsmRooms1Adj)+	atof(SRIP1094.GC2FuncUtilAdj)+
		atof(SRIP1094.GC2HeatCoolAdj)+	atof(SRIP1094.GC2GarCptAdj)+
		atof(SRIP1094.GC2ComElem1Adj)+	atof(SRIP1094.GC2ComElem2Adj)+
		atof(SRIP1094.GC2ComElem3Adj);
	price = atof(SRIP1094.GC2SalePrice);

	SRIP1094.GC2NetAdj = ToString(adj,5);
	if adj >= 0 Then
	begin
		SRIP1094.GC2NetAdj_Plus = "X";
		SRIP1094.GC2NetAdj_Minus = "";
	end;
	else
	begin
		SRIP1094.GC2NetAdj_Plus = "";
		SRIP1094.GC2NetAdj_Minus = "X";
	end;

	SRIP1094.GC2AdjSalePrice = ToString(price + adj, 5);
end;


Formula:
routine main() returns nothing is
begin
	float sum, price;

	price = atof(SRIP1094.GC2SalePrice);
	if price != 0 then
	begin
		sum=abs(atof(SRIP1094.GC2SalesFin1Adj)) +	abs(atof(SRIP1094.GC2SalesFin2Adj)) +
			abs(atof(SRIP1094.GC2DateOfSaleAdj)) +	abs(atof(SRIP1094.GC2LocationAdj)) +
			abs(atof(SRIP1094.GC2LeaseholdAdj)) +	abs(atof(SRIP1094.GC2SiteAdj)) +
			abs(atof(SRIP1094.GC2ViewAdj)) +		abs(atof(SRIP1094.GC2DesignAdj)) +
			abs(atof(SRIP1094.GC2QualConstAdj)) +	abs(atof(SRIP1094.GC2AgeAdj)) +
			abs(atof(SRIP1094.GC2ConditionAdj)) +	abs(atof(SRIP1094.GC2GBASqFtAdj)) +
			abs(atof(SRIP1094.GC2UnitAdj1)) +		abs(atof(SRIP1094.GC2UnitAdj2)) +
			abs(atof(SRIP1094.GC2UnitAdj3)) +		abs(atof(SRIP1094.GC2UnitAdj4)) +
			abs(atof(SRIP1094.GC2UnitAdj5)) +		abs(atof(SRIP1094.GC2UnitAdj6)) +
			abs(atof(SRIP1094.GC2BsmRooms1Adj)) +	abs(atof(SRIP1094.GC2FuncUtilAdj)) +
			abs(atof(SRIP1094.GC2HeatCoolAdj)) +	abs(atof(SRIP1094.GC2GarCptAdj)) +
			abs(atof(SRIP1094.GC2ComElem1Adj)) +	abs(atof(SRIP1094.GC2ComElem2Adj)) +
			abs(atof(SRIP1094.GC2ComElem3Adj));

		SRIP1094.GC2GrossPct_Value = ToString(sum/price*100, 5);
		SRIP1094.GC2GrossPct_Sign = "G:";
	end;
	else
	begin
		SRIP1094.GC2GrossPct_Value = "";
		SRIP1094.GC2GrossPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float sum, price;

	price = atof(SRIP1094.GC2SalePrice);
	if price != 0 then
	begin
		sum=atof(SRIP1094.GC2SalesFin1Adj)+	atof(SRIP1094.GC2SalesFin2Adj)+
			atof(SRIP1094.GC2DateOfSaleAdj)+atof(SRIP1094.GC2LocationAdj)+
			atof(SRIP1094.GC2LeaseholdAdj)+	atof(SRIP1094.GC2SiteAdj)+
			atof(SRIP1094.GC2ViewAdj)+		atof(SRIP1094.GC2DesignAdj)+
			atof(SRIP1094.GC2QualConstAdj)+	atof(SRIP1094.GC2AgeAdj)+
			atof(SRIP1094.GC2ConditionAdj)+	atof(SRIP1094.GC2GBASqFtAdj)+
			atof(SRIP1094.GC2UnitAdj1)+		atof(SRIP1094.GC2UnitAdj2)+
			atof(SRIP1094.GC2UnitAdj3)+		atof(SRIP1094.GC2UnitAdj4)+
			atof(SRIP1094.GC2UnitAdj5)+		atof(SRIP1094.GC2UnitAdj6)+
			atof(SRIP1094.GC2BsmRooms1Adj)+	atof(SRIP1094.GC2FuncUtilAdj)+
			atof(SRIP1094.GC2HeatCoolAdj)+	atof(SRIP1094.GC2GarCptAdj)+
			atof(SRIP1094.GC2ComElem1Adj)+	atof(SRIP1094.GC2ComElem2Adj)+
			atof(SRIP1094.GC2ComElem3Adj);

		SRIP1094.GC2NetPct_Value = ToString(Abs(sum)/price*100,5);
		SRIP1094.GC2NetPct_Sign = "N:";
	end;
	else
	begin
		SRIP1094.GC2NetPct_Value = "";
		SRIP1094.GC2NetPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("SRIP1094.GC3BsmRooms1Adj"),
affects "SRIP1094.GC1NetAdj",
affects "SRIP1094.GC2NetAdj",
affects "SRIP1094.GC3NetAdj",
affects "SRIP1094.GC1GrossPct_Value,SRIP1094.GC1NetPct_Value",
affects "SRIP1094.GC2GrossPct_Value,SRIP1094.GC2NetPct_Value",
affects "SRIP1094.GC3GrossPct_Value,SRIP1094.GC3NetPct_Value" is
/* no depends SRIP1094.GSUBsmRooms1 SRIP1094.GC1BsmRooms1 SRIP1094.GC2BsmRooms1 SRIP1094.GC3BsmRooms1 */
begin
	string n;
	float sqft, adj;
	n = SRIP1094.GC3BsmRooms1Adj;
	if StrLeft(n,1) == "$" then
	begin
		sqft = atof(SRIP1094.GSUBsmRooms1);
		adj = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(SRIP1094.GC1BsmRooms1) then
			SRIP1094.GC1BsmRooms1Adj = ToString(Round(((sqft-atof(SRIP1094.GC1BsmRooms1))*adj)/100)*100);
		Else
			SRIP1094.GC1BsmRooms1Adj = "";

		if !IsEmpty(SRIP1094.GC2BsmRooms1) then
			SRIP1094.GC2BsmRooms1Adj = ToString(Round(((sqft-atof(SRIP1094.GC2BsmRooms1))*adj)/100)*100);
		Else
			SRIP1094.GC2BsmRooms1Adj = "";

		if !IsEmpty(SRIP1094.GC3BsmRooms1) then
			SRIP1094.GC3BsmRooms1Adj = ToString(Round(((sqft-atof(SRIP1094.GC3BsmRooms1))*adj)/100)*100);
		Else
			SRIP1094.GC3BsmRooms1Adj = "";
	end;
end;


Formula:
routine main() returns nothing is
/* no depends SRIP1094.GC3NetAdj_Plus SRIP1094.GC3NetAdj_Minus */
begin
	float adj, price;
	adj=atof(SRIP1094.GC3SalesFin1Adj)+	atof(SRIP1094.GC3SalesFin2Adj)+
		atof(SRIP1094.GC3DateOfSaleAdj)+atof(SRIP1094.GC3LocationAdj)+
		atof(SRIP1094.GC3LeaseholdAdj)+	atof(SRIP1094.GC3SiteAdj)+
		atof(SRIP1094.GC3ViewAdj)+		atof(SRIP1094.GC3DesignAdj)+
		atof(SRIP1094.GC3QualConstAdj)+	atof(SRIP1094.GC3AgeAdj)+
		atof(SRIP1094.GC3ConditionAdj)+	atof(SRIP1094.GC3GBASqFtAdj)+
		atof(SRIP1094.GC3UnitAdj1)+		atof(SRIP1094.GC3UnitAdj2)+
		atof(SRIP1094.GC3UnitAdj3)+		atof(SRIP1094.GC3UnitAdj4)+
		atof(SRIP1094.GC3UnitAdj5)+		atof(SRIP1094.GC3UnitAdj6)+
		atof(SRIP1094.GC3BsmRooms1Adj)+	atof(SRIP1094.GC3FuncUtilAdj)+
		atof(SRIP1094.GC3HeatCoolAdj)+	atof(SRIP1094.GC3GarCptAdj)+
		atof(SRIP1094.GC3ComElem1Adj)+	atof(SRIP1094.GC3ComElem2Adj)+
		atof(SRIP1094.GC3ComElem3Adj);
	price = atof(SRIP1094.GC3SalePrice);

	SRIP1094.GC3NetAdj = ToString(adj, 5);
	if adj >= 0 Then
	begin
		SRIP1094.GC3NetAdj_Plus = "X";
		SRIP1094.GC3NetAdj_Minus = "";
	end;
	else
	begin
		SRIP1094.GC3NetAdj_Plus = "";
		SRIP1094.GC3NetAdj_Minus = "X";
	end;

	SRIP1094.GC3AdjSalePrice = ToString(price + adj, 5);
end;


Formula:
routine main() returns nothing is
begin
	float sum, price;

	price = atof(SRIP1094.GC3SalePrice);
	if price != 0 then
	begin
		sum=abs(atof(SRIP1094.GC3SalesFin1Adj)) +	abs(atof(SRIP1094.GC3SalesFin2Adj)) +
			abs(atof(SRIP1094.GC3DateOfSaleAdj)) +	abs(atof(SRIP1094.GC3LocationAdj)) +
			abs(atof(SRIP1094.GC3LeaseholdAdj)) +	abs(atof(SRIP1094.GC3SiteAdj)) +
			abs(atof(SRIP1094.GC3ViewAdj)) +		abs(atof(SRIP1094.GC3DesignAdj)) +
			abs(atof(SRIP1094.GC3QualConstAdj)) +	abs(atof(SRIP1094.GC3AgeAdj)) +
			abs(atof(SRIP1094.GC3ConditionAdj)) +	abs(atof(SRIP1094.GC3GBASqFtAdj)) +
			abs(atof(SRIP1094.GC3UnitAdj1)) +		abs(atof(SRIP1094.GC3UnitAdj2)) +
			abs(atof(SRIP1094.GC3UnitAdj3)) +		abs(atof(SRIP1094.GC3UnitAdj4)) +
			abs(atof(SRIP1094.GC3UnitAdj5)) +		abs(atof(SRIP1094.GC3UnitAdj6)) +
			abs(atof(SRIP1094.GC3BsmRooms1Adj)) +	abs(atof(SRIP1094.GC3FuncUtilAdj)) +
			abs(atof(SRIP1094.GC3HeatCoolAdj)) +	abs(atof(SRIP1094.GC3GarCptAdj)) +
			abs(atof(SRIP1094.GC3ComElem1Adj)) +	abs(atof(SRIP1094.GC3ComElem2Adj)) +
			abs(atof(SRIP1094.GC3ComElem3Adj));

		SRIP1094.GC3GrossPct_Value = ToString(sum/price*100, 5);
		SRIP1094.GC3GrossPct_Sign = "G:";
	end;
	else
	begin
		SRIP1094.GC3GrossPct_Value = "";
		SRIP1094.GC3GrossPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float sum, price;

	price = atof(SRIP1094.GC3SalePrice);
	if price != 0 then
	begin
		sum=atof(SRIP1094.GC3SalesFin1Adj)+	atof(SRIP1094.GC3SalesFin2Adj)+
			atof(SRIP1094.GC3DateOfSaleAdj)+atof(SRIP1094.GC3LocationAdj)+
			atof(SRIP1094.GC3LeaseholdAdj)+	atof(SRIP1094.GC3SiteAdj)+
			atof(SRIP1094.GC3ViewAdj)+		atof(SRIP1094.GC3DesignAdj)+
			atof(SRIP1094.GC3QualConstAdj)+	atof(SRIP1094.GC3AgeAdj)+
			atof(SRIP1094.GC3ConditionAdj)+	atof(SRIP1094.GC3GBASqFtAdj)+
			atof(SRIP1094.GC3UnitAdj1)+		atof(SRIP1094.GC3UnitAdj2)+
			atof(SRIP1094.GC3UnitAdj3)+		atof(SRIP1094.GC3UnitAdj4)+
			atof(SRIP1094.GC3UnitAdj5)+		atof(SRIP1094.GC3UnitAdj6)+
			atof(SRIP1094.GC3BsmRooms1Adj)+	atof(SRIP1094.GC3FuncUtilAdj)+
			atof(SRIP1094.GC3HeatCoolAdj)+	atof(SRIP1094.GC3GarCptAdj)+
			atof(SRIP1094.GC3ComElem1Adj)+	atof(SRIP1094.GC3ComElem2Adj)+
			atof(SRIP1094.GC3ComElem3Adj);

		SRIP1094.GC3NetPct_Value = ToString(Abs(sum)/price*100,5);
		SRIP1094.GC3NetPct_Sign = "N:";
	end;
	else
	begin
		SRIP1094.GC3NetPct_Value = "";
		SRIP1094.GC3NetPct_Sign = "";
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.SCMGRM_Text") is
begin
	SRIP1094.SCMGRM_Text = ToString(Round(atof(SRIP1094.SCMEstMktRent)*atof(SRIP1094.SCMGRM)));
	if !Changed("SRIP1094.RECIVInc") then
		SRIP1094.RECIVInc = SRIP1094.SCMGRM_Text;
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.RECInspectDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.RECEstMktValue");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.RECApprName");

	if !Changed("SRIP1094.RECAppraiser") and IsEmpty(SRIP1094.RECAppraiser) then
		SRIP1094.RECAppraiser = SRIP1094.RECApprName;
	CopyField("SRIP1094.RECAppraiser");
end;


Formula:
routine main() returns nothing,
requires !Changed("SRIP1094.RECSupDate") is
begin
	SRIP1094.RECSupDate = SRIP1094.RECApprDate;
	CopyField("SRIP1094.RECApprSignDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.RECApprCert");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.RECApprCertSt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.RECApprLic");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.RECApprLicSt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.RECSupName");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.RECSupSignDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.RECSupCert");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.RECSupCertSt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.RECSupLic");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.RECSupLicSt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.RECSupInsp_Did");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("SRIP1094.RECSupInsp_DidNot");
end;


Formula:
routine main() returns nothing is
begin
	SRIP1094.P2FileNumber = SRIP1094.FileNumber;
	SRIP1094.P3FileNumber = SRIP1094.FileNumber;
	SRIP1094.P4FileNumber = SRIP1094.FileNumber;
	CopyField("SRIP1094.FileNumber");
end;


# URAR0693

Formula:
routine main() returns nothing is
begin
	URAR0693.P2ClientCaseNumber = URAR0693.ClientCaseNumber;
	CopyField("URAR0693.ClientCaseNumber");
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSUAddress1" is
begin
	if!Changed("URAR0693.GSUAddress1") then
		URAR0693.GSUAddress1 = URAR0693.SUBPropAddress;
	CopyField("URAR0693.SUBPropAddress");
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSUAddress2" is
/* no depends URAR0693.SUBState URAR0693.SUBZip */
begin
	CopyField("URAR0693.SUBCity");
	begin
		URAR0693.SUBPropCityStateZip = URAR0693.SUBCity + ", " + 
			URAR0693.SUBState + " " + URAR0693.SUBZip;
	end;
	CopyField("URAR0693.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSUAddress2" is
/* no depends URAR0693.SUBCity URAR0693.SUBZip */
begin
	CopyField("URAR0693.SUBState");
	begin
		URAR0693.SUBPropCityStateZip = URAR0693.SUBCity + ", " + 
			URAR0693.SUBState + " " + URAR0693.SUBZip;
	end;
	CopyField("URAR0693.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
/* no depends URAR0693.SUBCity URAR0693.SUBState */
begin
	CopyField("URAR0693.SUBZip");
	begin
		URAR0693.SUBPropCityStateZip = URAR0693.SUBCity + ", " + 
			URAR0693.SUBState + " " + URAR0693.SUBZip;
	end;
	CopyField("URAR0693.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.SUBLegalDescrip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.SUBCounty");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.SUBTaxYear");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.SUBRETax");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.SUBSpecAssess");
end;


Formula:
routine main() returns nothing is 
begin
	if !Changed("URAR0693.SUBCurOwner") then
		URAR0693.SUBCurOwner = URAR0693.SUBBorrower;
	CopyField("URAR0693.SUBBorrower"); 
	CopyField("URAR0693.SUBCurOwner"); 
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.SUBCurOwner");
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.GSULeasehold"),
affects "URAR0693.GSULeasehold" is
/* No Depends URAR0693.SUBPRA_Leasehold */
begin
	if !IsEmpty(URAR0693.SUBPRA_FeeSimple) then
		URAR0693.GSULeasehold = "Fee Simple";
	else if !IsEmpty(URAR0693.SUBPRA_Leasehold) then
		URAR0693.GSULeasehold = "Leasehold";
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.GSULeasehold"),
affects "URAR0693.GSULeasehold" is
/* No Depends URAR0693.SUBPRA_FeeSimple */
begin
	if !IsEmpty(URAR0693.SUBPRA_FeeSimple) then
		URAR0693.GSULeasehold = "Fee Simple";
	else if !IsEmpty(URAR0693.SUBPRA_Leasehold) then
		URAR0693.GSULeasehold = "Leasehold";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.SUBHOA");
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSULocation" is
begin
	if !Changed("URAR0693.GSULocation") then
		URAR0693.GSULocation = URAR0693.SUBProjName;
	CopyField("URAR0693.SUBProjName");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.SUBMapRef");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.SUBCenTract");
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSUSalePrice",
affects "URAR0693.GSUPriceGLA" is
begin
	if !Changed(URAR0693.GSUSalePrice) then
		URAR0693.GSUSalePrice = URAR0693.SUBSalePrice;
	CopyField("URAR0693.SUBSalePrice");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.SUBDateOfSale");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.SUBLoanConc");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.SUBLenClient");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.SUBLCAddress");
end;


Formula:
routine main() returns nothing,
affects "URAR0693.RECAppraiser" is
begin
	if !Changed("URAR0693.RECAppraiser") then
		URAR0693.RECAppraiser = URAR0693.SUBAppraiser;
	CopyField("URAR0693.SUBAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.SUBApprAddress");
end;


Formula:
routine main() returns nothing is 
begin 
	if IsEmpty(URAR0693.PROOwner) and IsEmpty(URAR0693.PROTenant) then 
		URAR0693.PROOwner_Text = "";
end;


Formula:
routine main() returns nothing is 
begin 
	if IsEmpty(URAR0693.PROOwner) and IsEmpty(URAR0693.PROTenant) then 
		URAR0693.PROTenant_Text = "";
end;


Formula:
routine main() returns nothing,
requires Changed("URAR0693.SFHPricePred") is 
begin
	float p;
	p = atof(URAR0693.SFHPricePred);
	if p < atof(URAR0693.SFHPriceLow) then
		Message("Warning: Predominant price below low price!");
	else if p > atof(URAR0693.SFHPriceHigh) then
 		Message("Warning: Predominant price above high price!");
end;


Formula:
routine main() returns nothing,
requires Changed("URAR0693.SFHAgePred") is 
begin
	float p;
	p = atof(URAR0693.SFHAgePred);
	if p < atof(URAR0693.SFHAgeLow) then
		Message("Warning: Predominant age below low age!");
	else if p > atof(URAR0693.SFHAgeHigh) then
 		Message("Warning: Predominant age above high age!");
end;


Formula:
routine main() returns nothing is 
begin 
	if IsEmpty(URAR0693.LCULikely) and IsEmpty(URAR0693.LCUInProcess) then 
	begin
		URAR0693.LUCTo_1 = "";
		URAR0693.LUCTo_2 = "";
		URAR0693.LUCTo_3 = "";
	end;
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSUSite" is
begin
	float r, fVal, bVal, lVal, rVal;
	string d, sr, acre;
	integer n, L, xpos, x2pos, x3pos;

	r = 0;
	d = URAR0693.SITDimensions;
	acre = URAR0693.SITSiteArea;
	L = StrLength(d);
	xpos = StrChr(d, "x");
	if xpos >= 0 then
	begin
		fVal = atof( d );
		lVal = atof( StrRight(d, L-xpos-1) );
		bVal = 0;
		rVal = 0;
		x2pos = StrChr( StrRight(d, L-xpos-1), "x" );
		if x2pos >= 0 then
		begin
			bVal = atof( StrRight(d, L-xpos-x2pos-1));
			x3pos = StrChr(StrRight(d, L-xpos-x2pos-1),"x");
			if x3pos >= 0 then
				rVal = atof( StrRight(d,L-xpos-x2pos-x3pos-1) );
			if fVal != bVal then
				Message(" Irregular lot.  Verify calculation...");
			r = ((fVal+bVal)/2) * ((lVal+rVal)/2);
		end;
		else
			r = fVal * lVal;
	end;

	sr = acre;
	n = StrChr(acre, "Acres");
	if n >= 0 or StrUpper(acre) == "A" then
		acre = "A";
	else
		acre = "S";

	if StrUpper(acre) == "A" then
		sr = ToString(r/43560.0, 4) + " Acres";
	else if IsEmpty(acre) or StrUpper(acre) == "S" then
		sr = ToString(r, 2) + " SqFt";

	URAR0693.SITSiteArea = sr;

	if !Changed("URAR0693.SITSize") then
		URAR0693.SITSize = sr;
	if !Changed("URAR0693.GSUSite") then
		URAR0693.GSUSite = sr;
end;


Formula:
routine main() returns nothing is 
begin
	if IsEmpty(URAR0693.SITHBUse_Other) then
		URAR0693.SITHBUse_Explain = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.GSUView"),
affects "URAR0693.GSUView" is
begin
	URAR0693.GSUView = URAR0693.SITView;
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.GSUDesign") is
begin
	URAR0693.GSUDesign = URAR0693.GDSDesign;
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.GSUAge"),
affects "URAR0693.GSUAge" is
begin
	string f;
	f = URAR0693.GDSAge;
	If (atoi(f) > 0) and (atoi(f) < 1000) Then
		f = f + " yrs";
	URAR0693.GSUAge = f;
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.BSMAreaSF"),
affects "URAR0693.RMSBsmArea",
affects "URAR0693.GSUBsmRooms1" is 
begin
	string f;
	if IsEmpty(URAR0693.BSMAreaSF) then
		f = URAR0693.BSMAreaSF = GetArea("BasementArea");

	if IsEmpty(URAR0693.BSMAreaSF) then
	begin
		if IsEmpty(f) then
			URAR0693.BSMAreaSF = "None";
		else
			URAR0693.BSMAreaSF = f;
	end;

	if !Changed("URAR0693.RMSBsmArea") then
		URAR0693.RMSBsmArea = URAR0693.BSMAreaSF;

	if !Changed("URAR0693.GSUBsmRooms1") then
		URAR0693.GSUBsmRooms1 = URAR0693.BSMAreaSF;
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.GSUBsmRooms2"),
affects "URAR0693.GSUBsmRooms2" is
begin
	URAR0693.GSUBsmRooms2 = URAR0693.BSMPctFinished;
end;


Formula:
routine main() returns nothing is 
begin
	if IsEmpty(URAR0693.INSRoof_Box) then
		URAR0693.INSRoof = "";
end;


Formula:
routine main() returns nothing is 
begin
	if IsEmpty(URAR0693.INSCeiling_Box) then
		URAR0693.INSCeiling = "";
end;


Formula:
routine main() returns nothing is 
begin
	if IsEmpty(URAR0693.INSWalls_Box) then
		URAR0693.INSWalls = "";
end;


Formula:
routine main() returns nothing is 
begin
	if IsEmpty(URAR0693.INSFloor_Box) then
		URAR0693.INSFloor = "";
end;


Formula:
routine main() returns nothing is 
begin
	if IsEmpty(URAR0693.INSNone) then
		URAR0693.INSNone_Box = "";
end;


Formula:
routine main() returns nothing is 
begin
	if IsEmpty(URAR0693.INSUnknown) then
		URAR0693.INSUnknown_Box = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.RMSBsmArea"),
affects "URAR0693.GSUBsmRooms1" is 
begin
	URAR0693.RMSBsmArea = URAR0693.BSMAreaSF;

	if !Changed("URAR0693.GSUBsmRooms1") then
		URAR0693.GSUBsmRooms1 = URAR0693.RMSBsmArea;
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.RMSLv1Area"),
affects "URAR0693.RMSAGSqFtGLA" is
begin
	URAR0693.RMSLv1Area = GetArea("LevelOneArea");
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.RMSLv2Area"),
affects "URAR0693.RMSAGSqFtGLA" is
begin
	URAR0693.RMSLv2Area = GetArea("LevelTwoArea");
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.RMSOthArea"),
affects "URAR0693.RMSAGSqFtGLA" is
begin
	URAR0693.RMSOthArea = GetArea("OtherAreas");
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSUTotRooms" is
begin
	integer t1, t2, t3;

	t1= atoi(URAR0693.RMSLv1Living) + atoi(URAR0693.RMSLv1Dining) + 
		atoi(URAR0693.RMSLv1Kitchen) + atoi(URAR0693.RMSLv1Den) + 
		atoi(URAR0693.RMSLv1FamilyRm) + atoi(URAR0693.RMSLv1RecRm) + 
		atoi(URAR0693.RMSLv1Bedrooms);

	t2= atoi(URAR0693.RMSLv2Living) + atoi(URAR0693.RMSLv2Dining) + 
		atoi(URAR0693.RMSLv2Kitchen) + atoi(URAR0693.RMSLv2Den) + 
		atoi(URAR0693.RMSLv2FamilyRm) + atoi(URAR0693.RMSLv2RecRm) + 
		atoi(URAR0693.RMSLv2Bedrooms);

	t3= atoi(URAR0693.RMSOthLiving) + atoi(URAR0693.RMSOthDining) + 
		atoi(URAR0693.RMSOthKitchen) + atoi(URAR0693.RMSOthDen) + 
		atoi(URAR0693.RMSOthFamilyRm) + atoi(URAR0693.RMSOthRecRm) + 
		atoi(URAR0693.RMSOthBedrooms);

	URAR0693.RMSAGTotRooms = ToString(t1 + t2 + t3);

	if !Changed("URAR0693.GSUTotRooms") then
		URAR0693.GSUTotRooms = URAR0693.RMSAGTotRooms;
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSUBedRooms" is
begin
	integer i;
	i = atoi(URAR0693.RMSLv1Bedrooms) +	atoi(URAR0693.RMSLv2Bedrooms) +
		atoi(URAR0693.RMSOthBedrooms);
	URAR0693.RMSAGTotBedrooms = ToString(i);

	if !Changed("URAR0693.GSUBedRooms") then
		URAR0693.GSUBedRooms = URAR0693.RMSAGTotBedrooms;
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSUBaths" is
begin
	float f;
	f = atof(urar0693.RMSLv1Baths) + atof(urar0693.RMSLv2Baths) +
		atof(urar0693.RMSOthBaths);
	urar0693.RMSAGTotBaths = ToString(f, 5);

	if !Changed("URAR0693.GSUBaths") then
		URAR0693.GSUBaths = URAR0693.RMSAGTotBaths;
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSUPorchEtc2" is
begin
	if IsEmpty(URAR0693.AMNFireplace_Box) then
		URAR0693.AMNFireplace = "";
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSUPorchEtc1" is
begin
	if IsEmpty(URAR0693.AMNPatio_Box) then
		URAR0693.AMNPatio = "";
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSUPorchEtc1" is
begin
	if IsEmpty(URAR0693.AMNDeck_Box) then
		URAR0693.AMNDeck = "";
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSUPorchEtc1" is
begin
	if IsEmpty(urar0693.AMNPorch_Box) then
		urar0693.AMNPorch = "";
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSUFenceEtc" is
begin
	if IsEmpty(URAR0693.AMNFence_Box) then
		URAR0693.AMNFence = "";
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSUFenceEtc" is
begin
	if IsEmpty(urar0693.AMNPool_Box) then
		urar0693.AMNPool = "";
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(URAR0693.AMNOther_Box) then
		URAR0693.AMNOther_Text = "";
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.GSUGarCpt") is
begin
	if !IsEmpty(URAR0693.CARNone_Box) Then
		URAR0693.GSUGarCpt = "None";
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.CSTOtherCost"),
affects "URAR0693.CSTTotCostNew" is
begin
	string s;
	integer i, L, n;
	s = URAR0693.CSTOtherSF;
	L = StrLength(s);
	n = 1;
	while IsNumber(StrRight(s, n)) and n <= L loop
		n++;

	i = Round(atof(StrRight(s, n-1)) * atof(URAR0693.CSTOtherPPSF));
	URAR0693.CSTOtherCost = ToString(i);
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.CSTDwellCost"),
affects "URAR0693.CSTTotCostNew" is
begin
	integer i;
	i = Round(atof(URAR0693.CSTDwellSF) * atof(URAR0693.CSTDwellPPSF));
	URAR0693.CSTDwellCost = ToString(i);
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.CSTTotCostNew"),
affects "URAR0693.CSTPhysDepr_1",
affects "URAR0693.CSTFuncDepr_1",
affects "URAR0693.CSTExtnDepr_1" is
begin
	float f;
	f = atof(URAR0693.CSTDwellCost) + atof(URAR0693.CSTOtherCost) +
		atof(URAR0693.CSTExtrasCost) + atof(URAR0693.CSTGarCptCost);
	URAR0693.CSTTotCostNew = ToString(f, 5);
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.CSTPhysDepr_2"),
affects "URAR0693.CSTTotalDepr" is
begin
	string p;
	float pct;
	p = URAR0693.CSTPhysDepr_1;
	if IsEmpty(p) then
		URAR0693.CSTPhysDepr_2 = "";
	else
	begin
		pct = atof(p)/100;
		URAR0693.CSTPhysDepr_2 = 
			ToString(Round(atof(URAR0693.CSTTotCostNew) * pct));
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.CSTFuncDepr_2"),
affects "URAR0693.CSTTotalDepr" is
begin
	string p;
	float pct;
	p = URAR0693.CSTFuncDepr_1;
	if IsEmpty(p) then
		URAR0693.CSTFuncDepr_2 = "";
	else
	begin
		pct =  atof(p)/100;
		URAR0693.CSTFuncDepr_2 = 
			ToString(Round(atof(URAR0693.CSTTotCostNew) * pct));
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.CSTExtnDepr_2"),
affects "URAR0693.CSTTotalDepr" is
begin
	string p;
	float pct;
	p = URAR0693.CSTExtnDepr_1;
	if IsEmpty(p) then
		URAR0693.CSTExtnDepr_2 = "";
	else
	begin
		pct =  atof(p)/100;
		URAR0693.CSTExtnDepr_2 = 
			ToString(Round(atof(URAR0693.CSTTotCostNew) * pct));
	end;
end;


Formula:
routine main() returns nothing,
affects "URAR0693.CSTDeprValue" is
begin
	float f;
	f = atof(URAR0693.CSTPhysDepr_2) + atof(URAR0693.CSTFuncDepr_2) +
		atof(URAR0693.CSTExtnDepr_2);
	URAR0693.CSTTotalDepr = ToString(f, 5);
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.CSTDeprValue"),
affects "URAR0693.CSTIndValue" is
begin
	float d, deprValue;
	deprValue = atof(URAR0693.CSTTotCostNew) - atof(URAR0693.CSTTotalDepr);
	URAR0693.CSTDeprValue = ToString(deprValue, 5);
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.CSTIndValue") is
begin
	float f;
	f = atof(URAR0693.CSTEstSiteVal) + atof(URAR0693.CSTDeprValue) +
		atof(URAR0693.CSTAsIsValue);
	URAR0693.CSTIndValue = ToString(f, 5);
end;


Formula:
routine main() returns nothing is
begin
	float adj, price;
	string gross;
	price = atof(URAR0693.GC1SalePrice);
	if price != 0 then
	begin
		adj=abs(atof(URAR0693.GC1SalesFin1Adj))  + abs(atof(URAR0693.GC1SalesFin2Adj)) + 
			abs(atof(URAR0693.GC1DateOfSaleAdj)) + abs(atof(URAR0693.GC1LocationAdj)) +
			abs(atof(URAR0693.GC1LeaseholdAdj))	 + abs(atof(URAR0693.GC1SiteAdj)) +
			abs(atof(URAR0693.GC1ViewAdj))		 + abs(atof(URAR0693.GC1DesignAdj)) +
			abs(atof(URAR0693.GC1QualConstrAdj)) + abs(atof(URAR0693.GC1AgeAdj)) +
			abs(atof(URAR0693.GC1ConditionAdj))	 + abs(atof(URAR0693.GC1RoomsAdj)) +
			abs(atof(URAR0693.GC1GLASqFtAdj))	 + abs(atof(URAR0693.GC1BsmRooms1Adj)) +
			abs(atof(URAR0693.GC1BsmRooms2Adj))	 + abs(atof(URAR0693.GC1FuncUtilAdj)) +
			abs(atof(URAR0693.GC1HeatCoolAdj))	 + abs(atof(URAR0693.GC1EnergyEffAdj)) +
			abs(atof(URAR0693.GC1GarCptAdj))	 + abs(atof(URAR0693.GC1PorchEtc1Adj)) +
			abs(atof(URAR0693.GC1PorchEtc2Adj))	 + abs(atof(URAR0693.GC1FenceEtcAdj)) +
			abs(atof(URAR0693.GC1ExtraItemAdj));

		gross = "        "+ToString(adj/price * 100, 2)+"%";
		URAR0693.GC1AdjPrice1_Text = "G:"+StrRight(gross,7);
	end;
	else
		URAR0693.GC1AdjPrice1_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	if !Changed("URAR0693.GSUAddress1") then
		URAR0693.GSUAddress1 = URAR0693.SUBPropAddress;

	CopyField("URAR0693.GSUAddress1");
end;


Formula:
routine main() returns nothing is
/* no depends URAR0693.SUBCity URAR0693.SUBState */
begin
	string a;
	if !Changed("URAR0693.GSUAddress2") then
	begin
		a = URAR0693.SUBCity;
		if !IsEmpty(URAR0693.SUBState) then
			a = a + ", " + URAR0693.SUBState;

		URAR0693.GSUAddress2 = a;
	end;
	CopyField("URAR0693.GSUAddress2");
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSUPriceGLA" is
begin
	CopyField("URAR0693.GSUSalePrice");
end;


Formula:
routine main() returns nothing is
/* no depends URAR0693.RMSAGSqFtGLA */
begin
	string price, glaStr;
	float gla;

	if !Changed("URAR0693.GSUPriceGLA") then
	begin
		price = URAR0693.GSUSalePrice;
		glaStr = URAR0693.RMSAGSqFtGLA;

		if IsEmpty(URAR0693.GSUGLASqFt) then
			URAR0693.GSUGLASqFt = glaStr;

		URAR0693.GSUPriceGLA = "";
		gla = atof(URAR0693.GSUGLASqFt);

		if gla != 0 and IsNumber(price) then
		begin
			gla = atof(price)/gla;
			URAR0693.GSUPriceGLA = ToString(gla, 5);
		end;
	end;

	CopyField("URAR0693.GSUPriceGLA");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSUDataSource1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSUDataSource2");
end;


Formula:
routine main() returns nothing is
begin
	float s;
	s = atof(URAR0693.GC1GLASqFt);
	if s != 0 then
		URAR0693.GC1PriceGLA = ToString(atof(URAR0693.GC1SalePrice)/s,5);
	else
		URAR0693.GC1PriceGLA = "";
end;


Formula:
routine main() returns nothing is
begin
	float s;
	s = atof(URAR0693.GC2GLASqFt);
	if s != 0 then
		URAR0693.GC2PriceGLA = ToString(atof(URAR0693.GC2SalePrice)/s,5);
	else
		URAR0693.GC2PriceGLA = "";
end;


Formula:
routine main() returns nothing is
begin
	float s;
	s = atof(URAR0693.GC3GLASqFt);
	if s != 0 then
		URAR0693.GC3PriceGLA = ToString(atof(URAR0693.GC3SalePrice)/s,5);
	else
		URAR0693.GC3PriceGLA = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSULocation");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSULeasehold");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSUView");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSUDesign");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSUQualConstr");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSUAge");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSUCondition");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSUTotRooms");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSUBedRooms");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSUBaths");
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSUPriceGLA" is
begin
	if !Changed("URAR0693.GSUGLASqFt") then
		URAR0693.GSUGLASqFt = URAR0693.RMSAGSqFtGLA;

	CopyField("URAR0693.GSUGLASqFt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSUSite");
end;


Formula:
routine main() returns nothing is
begin
	string f;

	if !Changed("URAR0693.GSUBsmRooms1") then
	begin
		f = URAR0693.BSMAreaSF;
		if IsEmpty(f) then
			f = "None";

		URAR0693.GSUBsmRooms1 = f;
	end;

	CopyField("URAR0693.GSUBsmRooms1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSUBsmRooms2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSUFuncUtil");
end;


Formula:
routine main() returns nothing is
begin
	string cool, heat, fld;
	integer Len;

	if !Changed("URAR0693.GSUHeatCool") then
	begin
		heat = URAR0693.HACHeatType;
		cool = URAR0693.HACCoolCentral;

		if StrLeft(cool,3) == "yes" then
			cool = "Central";
		else
		begin
			Len = StrLength(cool);
			If (Len == 0) Then
				cool = URAR0693.HACCoolOther;
			else if StrLeft(cool,2) == "no" Then
			begin
				if (Len == 2) Then
					cool = "";
				else if StrLeft(StrMid(cool,2),1) == " " Then
					cool = "";
			end;
			else
				cool = URAR0693.HACCoolOther;
		end;

		if IsEmpty(heat) then
			fld = cool;
		else if IsEmpty(cool) then
			fld = heat;
		else
			fld = heat + "/" + cool;

		URAR0693.GSUHeatCool = fld;
	end;
	CopyField("URAR0693.GSUHeatCool");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSUEnergyEff");
end;


Formula:
routine main() returns nothing is
begin
	integer Cnt;
	string fld;

	if !Changed("URAR0693.GSUGarCpt") then
	begin
		if !IsEmpty(URAR0693.CARNone_Box) Then
			fld = "None";
		else
		begin
			Cnt=atoi(URAR0693.CARGarAttached) + atoi(URAR0693.CARGarDetached) + 
				atoi(URAR0693.CARGarBuiltIn) + atoi(URAR0693.CARCarport) + 
				atoi(URAR0693.CARDriveway);
			if Cnt != 0 then
			begin
				fld = ToString(Cnt);

				if !IsEmpty(URAR0693.CARGarAttached) or !IsEmpty(URAR0693.CARGarDetached) then
					fld = fld + "-Garage";
				else if !IsEmpty(URAR0693.CARGarBuiltIn) then
					fld = fld + "-Garage";
				else if !IsEmpty(URAR0693.CARCarport) then
					fld = fld + "-Carport";
				else if !IsEmpty(URAR0693.CARDriveway) then
					fld = fld + "-Driveway";
			end;
			else
				fld = "None";
		end;

		URAR0693.GSUGarCpt = fld;
	end;
	CopyField("URAR0693.GSUGarCpt");
end;


Formula:
routine main() returns nothing is
begin
	string fld;

	if !Changed("URAR0693.GSUPorchEtc1") then
	begin
		if IsEmpty(URAR0693.AMNPatio_Box) then
			fld = "";
		else
			fld = "Patio";

		if !IsEmpty(URAR0693.AMNDeck_Box) then
		begin
			if !IsEmpty(fld) then
				fld = fld + "/";

			fld = fld + "Deck";
		end;

		if !IsEmpty(URAR0693.AMNPorch_Box) then
		begin
			if !IsEmpty(fld) then
				fld = fld + "/";

			fld = fld + "Porch";
		end;

		if IsEmpty(fld) then
			fld = "None";

		URAR0693.GSUPorchEtc1 = fld;
	end;
	CopyField("URAR0693.GSUPorchEtc1");
end;


Formula:
routine main() returns nothing is
begin
	string fld;
	if !Changed("URAR0693.GSUPorchEtc2") then
	begin
		fld = URAR0693.AMNFireplace;
		if !IsEmpty(URAR0693.AMNFireplace_Box) then
		begin
			if IsEmpty(fld) then
				fld = "Fireplace";
			else
				fld = fld + "-Fireplace";
		end;
		else
			fld = "None";

		URAR0693.GSUPorchEtc2 = fld;
	end;
	CopyField("URAR0693.GSUPorchEtc2");
end;


Formula:
routine main() returns nothing,
requires !Changed("GSUFenceEtc") is
begin
	string fence, pool,fld;

	if  !Changed("URAR0693.GSUFenceEtc") then
	begin
		pool = "";
		if !IsEmpty(URAR0693.AMNPool_Box) then
		begin
			if IsEmpty(URAR0693.AMNPool) then
				pool = "Pool";
			else
				pool = URAR0693.AMNPool + " Pool";
		end;

		fence = "";
		if !IsEmpty(URAR0693.AMNFence_Box) then
		begin
			if IsEmpty(URAR0693.AMNFence) then
				fence = "Fence";
			else
				fence = URAR0693.AMNFence + " Fence";
		end;

		if IsEmpty(fence) and !IsEmpty(pool) then
			fld = pool;
		else if IsEmpty(pool) and !IsEmpty(fence) then
			fld = fence;
		else if !IsEmpty(pool) and !IsEmpty(fence) then
			fld = fence + "/" + pool;
		else
			fld = "None";

		URAR0693.GSUFenceEtc = fld;
	end;
	CopyField("URAR0693.GSUFenceEtc");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSUExtraItem_Text");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.GSUExtraItem");
end;


Formula:
routine main() returns nothing,
requires Changed("URAR0693.GC1SiteAdj"),
affects "URAR0693.GC1NetAdjAmt",
affects "URAR0693.GC2NetAdjAmt",
affects "URAR0693.GC3NetAdjAmt",
affects "URAR0693.GC1AdjPrice1_Text,URAR0693.GC1AdjPrice2_Text",
affects "URAR0693.GC2AdjPrice1_Text,URAR0693.GC2AdjPrice2_Text",
affects "URAR0693.GC3AdjPrice1_Text,URAR0693.GC3AdjPrice2_Text" is
/* no depends URAR0693.GSUSite URAR0693.GC1Site URAR0693.GC2Site URAR0693.GC3Site */
begin
	string n0;
	float n1, n2;
	n0 = URAR0693.GC1SiteAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(URAR0693.GSUSite);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1Site) Then
			URAR0693.GC1SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC1Site)) * n2)/100)*100, 0);
		else
			URAR0693.GC1SiteAdj = "";

		if !IsEmpty(URAR0693.GC2Site) Then
			URAR0693.GC2SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC2Site)) * n2)/100)*100, 0);
		else
			URAR0693.GC2SiteAdj = "";

		if !IsEmpty(URAR0693.GC3Site) Then
			URAR0693.GC3SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC3Site)) * n2)/100)*100, 0);
		Else
			URAR0693.GC3SiteAdj = "";

		If !IsEmpty(SComp4to6.GC1Site) Then
			SComp4to6.GC1SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC1Site)) * n2)/100)*100, 0);
		Else
			SComp4to6.GC1SiteAdj = "";

		If !IsEmpty(SComp4to6.GC2Site) Then
			SComp4to6.GC2SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC2Site)) * n2)/100)*100, 0);
		Else
			SComp4to6.GC2SiteAdj = "";

		If !IsEmpty(SComp4to6.GC3Site) Then
			SComp4to6.GC3SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC3Site)) * n2)/100)*100, 0);
		Else
			SComp4to6.GC3SiteAdj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("URAR0693.GC1AgeAdj"),
affects "URAR0693.GC1NetAdjAmt",
affects "URAR0693.GC2NetAdjAmt",
affects "URAR0693.GC3NetAdjAmt",
affects "URAR0693.GC1AdjPrice1_Text,URAR0693.GC1AdjPrice2_Text",
affects "URAR0693.GC2AdjPrice1_Text,URAR0693.GC2AdjPrice2_Text",
affects "URAR0693.GC3AdjPrice1_Text,URAR0693.GC3AdjPrice2_Text" is
/* no depends URAR0693.GSUAge URAR0693.GC1Age URAR0693.GC2Age URAR0693.GC3Age */
begin
	string n0;
	float n1, n2;
	n0 = URAR0693.GC1AgeAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(URAR0693.GSUAge);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if n1 < 1000 then
			n2 = 0-n2;

		if !IsEmpty(URAR0693.GC1Age) Then
			URAR0693.GC1AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC1Age)) * n2)/100)*100, 0);
		else
			URAR0693.GC1AgeAdj = "";

		if !IsEmpty(URAR0693.GC2Age) Then
			URAR0693.GC2AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC2Age)) * n2)/100)*100, 0);
		else
			URAR0693.GC2AgeAdj = "";

		if !IsEmpty(URAR0693.GC3Age) Then
			URAR0693.GC3AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC3Age)) * n2)/100)*100, 0);
		Else
			URAR0693.GC3AgeAdj = "";

		If !IsEmpty(SComp4to6.GC1Age) Then
			SComp4to6.GC1AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC1Age)) * n2)/100)*100, 0);
		Else
			SComp4to6.GC1AgeAdj = "";

		If !IsEmpty(SComp4to6.GC2Age) Then
			SComp4to6.GC2AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC2Age)) * n2)/100)*100, 0);
		Else
			SComp4to6.GC2AgeAdj = "";

		If !IsEmpty(SComp4to6.GC3Age) Then
			SComp4to6.GC3AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC3Age)) * n2)/100)*100, 0);
		Else
			SComp4to6.GC3AgeAdj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("URAR0693.GC1BsmRooms1Adj"),
affects "URAR0693.GC1NetAdjAmt",
affects "URAR0693.GC2NetAdjAmt",
affects "URAR0693.GC3NetAdjAmt",
affects "URAR0693.GC1AdjPrice1_Text,URAR0693.GC1AdjPrice2_Text",
affects "URAR0693.GC2AdjPrice1_Text,URAR0693.GC2AdjPrice2_Text",
affects "URAR0693.GC3AdjPrice1_Text,URAR0693.GC3AdjPrice2_Text" is
/* no depends URAR0693.GSUBsmRooms1 URAR0693.GC1BsmRooms1 URAR0693.GC2BsmRooms1 URAR0693.GC3BsmRooms1 */
begin
	string n0;
	float n1, n2;
	n0 = URAR0693.GC1BsmRooms1Adj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(URAR0693.GSUBsmRooms1);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1BsmRooms1) Then
			URAR0693.GC1BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC1BsmRooms1)) * n2)/100)*100);
		else
			URAR0693.GC1BsmRooms1Adj = "";

		if !IsEmpty(URAR0693.GC2BsmRooms1) Then
			URAR0693.GC2BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC2BsmRooms1)) * n2)/100)*100);
		else
			URAR0693.GC2BsmRooms1Adj = "";

		if !IsEmpty(URAR0693.GC3BsmRooms1) Then
			URAR0693.GC3BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC3BsmRooms1)) * n2)/100)*100);
		Else
			URAR0693.GC3BsmRooms1Adj = "";

		If !IsEmpty(SComp4to6.GC1BsmRooms1) Then
			SComp4to6.GC1BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC1BsmRooms1Adj = "";

		If !IsEmpty(SComp4to6.GC2BsmRooms1) Then
			SComp4to6.GC2BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC2BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC2BsmRooms1Adj = "";

		If !IsEmpty(SComp4to6.GC3BsmRooms1) Then
			SComp4to6.GC3BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC3BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC3BsmRooms1Adj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("URAR0693.GC1BsmRooms2Adj"),
affects "URAR0693.GC1NetAdjAmt",
affects "URAR0693.GC2NetAdjAmt",
affects "URAR0693.GC3NetAdjAmt",
affects "URAR0693.GC1AdjPrice1_Text,URAR0693.GC1AdjPrice2_Text",
affects "URAR0693.GC2AdjPrice1_Text,URAR0693.GC2AdjPrice2_Text",
affects "URAR0693.GC3AdjPrice1_Text,URAR0693.GC3AdjPrice2_Text" is
/* no depends URAR0693.GSUBsmRooms2 URAR0693.GC1BsmRooms2 URAR0693.GC2BsmRooms2 URAR0693.GC3BsmRooms2 */
begin
	string n0;
	float n1, n2;
	n0 = URAR0693.GC1BsmRooms2Adj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(URAR0693.GSUBsmRooms2);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1BsmRooms2) Then
			URAR0693.GC1BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC1BsmRooms2)) * n2)/100)*100);
		else
			URAR0693.GC1BsmRooms2Adj = "";

		if !IsEmpty(URAR0693.GC2BsmRooms2) Then
			URAR0693.GC2BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC2BsmRooms2)) * n2)/100)*100);
		else
			URAR0693.GC2BsmRooms2Adj = "";

		if !IsEmpty(URAR0693.GC3BsmRooms2) Then
			URAR0693.GC3BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC3BsmRooms2)) * n2)/100)*100);
		Else
			URAR0693.GC3BsmRooms2Adj = "";

		If !IsEmpty(SComp4to6.GC1BsmRooms2) Then
			SComp4to6.GC1BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC1BsmRooms2Adj = "";

		If !IsEmpty(SComp4to6.GC2BsmRooms2) Then
			SComp4to6.GC2BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC2BsmRooms2Adj = "";

		If !IsEmpty(SComp4to6.GC3BsmRooms2) Then
			SComp4to6.GC3BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC3BsmRooms2Adj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("URAR0693.GC2GLASqFtAdj"),
affects "URAR0693.GC1NetAdjAmt",
affects "URAR0693.GC2NetAdjAmt",
affects "URAR0693.GC3NetAdjAmt",
affects "URAR0693.GC1AdjPrice1_Text,URAR0693.GC1AdjPrice2_Text",
affects "URAR0693.GC2AdjPrice1_Text,URAR0693.GC2AdjPrice2_Text",
affects "URAR0693.GC3AdjPrice1_Text,URAR0693.GC3AdjPrice2_Text" is
/* no depends URAR0693.GSUGLASqFt URAR0693.GC1GLASqFt URAR0693.GC2GLASqFt URAR0693.GC3GLASqFt */
begin
	string n0;
	float n1, n2;
	n0 = URAR0693.GC1GLASqFtAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(URAR0693.GSUGLASqFt);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1GLASqFt) Then
			URAR0693.GC1GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC1GLASqFt)) * n2)/100)*100);
		else
			URAR0693.GC1GLASqFtAdj = "";

		if !IsEmpty(URAR0693.GC2GLASqFt) Then
			URAR0693.GC2GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC2GLASqFt)) * n2)/100)*100);
		else
			URAR0693.GC2GLASqFtAdj = "";

		if !IsEmpty(URAR0693.GC3GLASqFt) Then
			URAR0693.GC3GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC3GLASqFt)) * n2)/100)*100);
		Else
			URAR0693.GC3GLASqFtAdj = "";

		If !IsEmpty(SComp4to6.GC1GLASqFt) Then
			SComp4to6.GC1GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC1GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC1GLASqFtAdj = "";

		If !IsEmpty(SComp4to6.GC2GLASqFt) Then
			SComp4to6.GC2GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC2GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC2GLASqFtAdj = "";

		If !IsEmpty(SComp4to6.GC3GLASqFt) Then
			SComp4to6.GC3GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC3GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC3GLASqFtAdj = "";
	End;
end;


Formula:
routine main() returns nothing is
begin
	float adj, price;
	string gross;
	price = atof(URAR0693.GC2SalePrice);
	if price != 0 then
	begin
		adj=abs(atof(URAR0693.GC2SalesFin1Adj))  + abs(atof(URAR0693.GC2SalesFin2Adj)) + 
			abs(atof(URAR0693.GC2DateOfSaleAdj)) + abs(atof(URAR0693.GC2LocationAdj)) +
			abs(atof(URAR0693.GC2LeaseholdAdj))	 + abs(atof(URAR0693.GC2SiteAdj)) +
			abs(atof(URAR0693.GC2ViewAdj))		 + abs(atof(URAR0693.GC2DesignAdj)) +
			abs(atof(URAR0693.GC2QualConstrAdj)) + abs(atof(URAR0693.GC2AgeAdj)) +
			abs(atof(URAR0693.GC2ConditionAdj))	 + abs(atof(URAR0693.GC2RoomsAdj)) +
			abs(atof(URAR0693.GC2GLASqFtAdj))	 + abs(atof(URAR0693.GC2BsmRooms1Adj)) +
			abs(atof(URAR0693.GC2BsmRooms2Adj))	 + abs(atof(URAR0693.GC2FuncUtilAdj)) +
			abs(atof(URAR0693.GC2HeatCoolAdj))	 + abs(atof(URAR0693.GC2EnergyEffAdj)) +
			abs(atof(URAR0693.GC2GarCptAdj))	 + abs(atof(URAR0693.GC2PorchEtc1Adj)) +
			abs(atof(URAR0693.GC2PorchEtc2Adj))	 + abs(atof(URAR0693.GC2FenceEtcAdj)) +
			abs(atof(URAR0693.GC2ExtraItemAdj));

		gross = "       "+ToString(adj/price * 100, 2)+"%";
		URAR0693.GC2AdjPrice1_Text = "G:"+StrRight(gross,7);
	end;
	else
		URAR0693.GC2AdjPrice1_Text = "";
end;


Formula:
routine main() returns nothing is
/* no depends URAR0693.GC1Plus_Box URAR0693.GC1Minus_Box */
begin
	float adj, price;
	adj =	atof(URAR0693.GC1SalesFin1Adj)  + atof(URAR0693.GC1SalesFin2Adj) + 
			atof(URAR0693.GC1DateOfSaleAdj) + atof(URAR0693.GC1LocationAdj) +
			atof(URAR0693.GC1LeaseholdAdj)	+ atof(URAR0693.GC1SiteAdj) +
			atof(URAR0693.GC1ViewAdj)		+ atof(URAR0693.GC1DesignAdj) +
			atof(URAR0693.GC1QualConstrAdj) + atof(URAR0693.GC1AgeAdj) +
			atof(URAR0693.GC1ConditionAdj)	+ atof(URAR0693.GC1RoomsAdj) +
			atof(URAR0693.GC1GLASqFtAdj)	+ atof(URAR0693.GC1BsmRooms1Adj) +
			atof(URAR0693.GC1BsmRooms2Adj)	+ atof(URAR0693.GC1FuncUtilAdj) +
			atof(URAR0693.GC1HeatCoolAdj)	+ atof(URAR0693.GC1EnergyEffAdj) +
			atof(URAR0693.GC1GarCptAdj)		+ atof(URAR0693.GC1PorchEtc1Adj) +
			atof(URAR0693.GC1PorchEtc2Adj)	+ atof(URAR0693.GC1FenceEtcAdj) +
			atof(URAR0693.GC1ExtraItemAdj);

	price = atof(URAR0693.GC1SalePrice);
	URAR0693.GC1NetAdjAmt = ToString(Round(adj));
	URAR0693.GC1IndValue = ToString(Round(price+adj));

	if adj >= 0 Then
	begin
		URAR0693.GC1Plus_Box = "X";
		URAR0693.GC1Minus_Box = "";
	end;
	else
	begin
		URAR0693.GC1Plus_Box = "";
		URAR0693.GC1Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("URAR0693.GC2SiteAdj"),
affects "URAR0693.GC1NetAdjAmt",
affects "URAR0693.GC2NetAdjAmt",
affects "URAR0693.GC3NetAdjAmt",
affects "URAR0693.GC1AdjPrice1_Text,URAR0693.GC1AdjPrice2_Text",
affects "URAR0693.GC2AdjPrice1_Text,URAR0693.GC2AdjPrice2_Text",
affects "URAR0693.GC3AdjPrice1_Text,URAR0693.GC3AdjPrice2_Text" is
/* no depends URAR0693.GSUSite URAR0693.GC1Site URAR0693.GC2Site URAR0693.GC3Site */
begin
	string n0;
	float n1, n2;
	n0 = URAR0693.GC2SiteAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(URAR0693.GSUSite);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1Site) Then
			URAR0693.GC1SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC1Site)) * n2)/100)*100);
		else
			URAR0693.GC1SiteAdj = "";

		if !IsEmpty(URAR0693.GC2Site) Then
			URAR0693.GC2SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC2Site)) * n2)/100)*100);
		else
			URAR0693.GC2SiteAdj = "";

		if !IsEmpty(URAR0693.GC3Site) Then
			URAR0693.GC3SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC3Site)) * n2)/100)*100);
		Else
			URAR0693.GC3SiteAdj = "";

		If !IsEmpty(SComp4to6.GC1Site) Then
			SComp4to6.GC1SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC1Site)) * n2)/100)*100);
		Else
			SComp4to6.GC1SiteAdj = "";

		If !IsEmpty(SComp4to6.GC2Site) Then
			SComp4to6.GC2SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC2Site)) * n2)/100)*100);
		Else
			SComp4to6.GC2SiteAdj = "";

		If !IsEmpty(SComp4to6.GC3Site) Then
			SComp4to6.GC3SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC3Site)) * n2)/100)*100);
		Else
			SComp4to6.GC3SiteAdj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("URAR0693.GC2AgeAdj"),
affects "URAR0693.GC1NetAdjAmt",
affects "URAR0693.GC2NetAdjAmt",
affects "URAR0693.GC3NetAdjAmt",
affects "URAR0693.GC1AdjPrice1_Text,URAR0693.GC1AdjPrice2_Text",
affects "URAR0693.GC2AdjPrice1_Text,URAR0693.GC2AdjPrice2_Text",
affects "URAR0693.GC3AdjPrice1_Text,URAR0693.GC3AdjPrice2_Text" is
/* no depends URAR0693.GSUAge URAR0693.GC1Age URAR0693.GC2Age URAR0693.GC3Age */
begin
	string n0;
	float n1, n2;
	n0 = URAR0693.GC2AgeAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(URAR0693.GSUAge);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if n1 < 1000 then
			n2 = 0-n2;

		if !IsEmpty(URAR0693.GC1Age) Then
			URAR0693.GC1AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC1Age)) * n2)/100)*100);
		else
			URAR0693.GC1AgeAdj = "";

		if !IsEmpty(URAR0693.GC2Age) Then
			URAR0693.GC2AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC2Age)) * n2)/100)*100);
		else
			URAR0693.GC2AgeAdj = "";

		if !IsEmpty(URAR0693.GC3Age) Then
			URAR0693.GC3AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC3Age)) * n2)/100)*100);
		Else
			URAR0693.GC3AgeAdj = "";

		If !IsEmpty(SComp4to6.GC1Age) Then
			SComp4to6.GC1AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC1Age)) * n2)/100)*100);
		Else
			SComp4to6.GC1AgeAdj = "";

		If !IsEmpty(SComp4to6.GC2Age) Then
			SComp4to6.GC2AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC2Age)) * n2)/100)*100);
		Else
			SComp4to6.GC2AgeAdj = "";

		If !IsEmpty(SComp4to6.GC3Age) Then
			SComp4to6.GC3AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC3Age)) * n2)/100)*100);
		Else
			SComp4to6.GC3AgeAdj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("URAR0693.GC2GLASqFtAdj"),
affects "URAR0693.GC1NetAdjAmt",
affects "URAR0693.GC2NetAdjAmt",
affects "URAR0693.GC3NetAdjAmt",
affects "URAR0693.GC1AdjPrice1_Text,URAR0693.GC1AdjPrice2_Text",
affects "URAR0693.GC2AdjPrice1_Text,URAR0693.GC2AdjPrice2_Text",
affects "URAR0693.GC3AdjPrice1_Text,URAR0693.GC3AdjPrice2_Text" is
/* no depends URAR0693.GSUGLASqFt URAR0693.GC1GLASqFt URAR0693.GC2GLASqFt URAR0693.GC3GLASqFt */
begin
	string n0;
	float n1, n2;
	n0 = URAR0693.GC2GLASqFtAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(URAR0693.GSUGLASqFt);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1GLASqFt) Then
			URAR0693.GC1GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC1GLASqFt)) * n2)/100)*100);
		else
			URAR0693.GC1GLASqFtAdj = "";

		if !IsEmpty(URAR0693.GC2GLASqFt) Then
			URAR0693.GC2GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC2GLASqFt)) * n2)/100)*100);
		else
			URAR0693.GC2GLASqFtAdj = "";

		if !IsEmpty(URAR0693.GC3GLASqFt) Then
			URAR0693.GC3GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC3GLASqFt)) * n2)/100)*100);
		Else
			URAR0693.GC3GLASqFtAdj = "";

		If !IsEmpty(SComp4to6.GC1GLASqFt) Then
			SComp4to6.GC1GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC1GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC1GLASqFtAdj = "";

		If !IsEmpty(SComp4to6.GC2GLASqFt) Then
			SComp4to6.GC2GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC2GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC2GLASqFtAdj = "";

		If !IsEmpty(SComp4to6.GC3GLASqFt) Then
			SComp4to6.GC3GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC3GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC3GLASqFtAdj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("URAR0693.GC2BsmRooms1Adj"),
affects "URAR0693.GC1NetAdjAmt",
affects "URAR0693.GC2NetAdjAmt",
affects "URAR0693.GC3NetAdjAmt",
affects "URAR0693.GC1AdjPrice1_Text,URAR0693.GC1AdjPrice2_Text",
affects "URAR0693.GC2AdjPrice1_Text,URAR0693.GC2AdjPrice2_Text",
affects "URAR0693.GC3AdjPrice1_Text,URAR0693.GC3AdjPrice2_Text" is
/* no depends URAR0693.GSUBsmRooms1 URAR0693.GC1BsmRooms1 URAR0693.GC2BsmRooms1 URAR0693.GC3BsmRooms1 */
begin
	string n0;
	float n1, n2;
	n0 = URAR0693.GC2BsmRooms1Adj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(URAR0693.GSUBsmRooms1);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1BsmRooms1) Then
			URAR0693.GC1BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC1BsmRooms1)) * n2)/100)*100);
		else
			URAR0693.GC1BsmRooms1Adj = "";

		if !IsEmpty(URAR0693.GC2BsmRooms1) Then
			URAR0693.GC2BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC2BsmRooms1)) * n2)/100)*100);
		else
			URAR0693.GC2BsmRooms1Adj = "";

		if !IsEmpty(URAR0693.GC3BsmRooms1) Then
			URAR0693.GC3BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC3BsmRooms1)) * n2)/100)*100);
		Else
			URAR0693.GC3BsmRooms1Adj = "";

		If !IsEmpty(SComp4to6.GC1BsmRooms1) Then
			SComp4to6.GC1BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC1BsmRooms1Adj = "";

		If !IsEmpty(SComp4to6.GC2BsmRooms1) Then
			SComp4to6.GC2BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC2BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC2BsmRooms1Adj = "";

		If !IsEmpty(SComp4to6.GC3BsmRooms1) Then
			SComp4to6.GC3BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC3BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC3BsmRooms1Adj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("URAR0693.GC2BsmRooms2Adj"),
affects "URAR0693.GC1NetAdjAmt",
affects "URAR0693.GC2NetAdjAmt",
affects "URAR0693.GC3NetAdjAmt",
affects "URAR0693.GC1AdjPrice1_Text,URAR0693.GC1AdjPrice2_Text",
affects "URAR0693.GC2AdjPrice1_Text,URAR0693.GC2AdjPrice2_Text",
affects "URAR0693.GC3AdjPrice1_Text,URAR0693.GC3AdjPrice2_Text" is
/* no depends URAR0693.GSUBsmRooms2 URAR0693.GC1BsmRooms2 URAR0693.GC2BsmRooms2 URAR0693.GC3BsmRooms2 */
begin
	string n0;
	float n1, n2;
	n0 = URAR0693.GC2BsmRooms2Adj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(URAR0693.GSUBsmRooms2);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1BsmRooms2) Then
			URAR0693.GC1BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC1BsmRooms2)) * n2)/100)*100);
		else
			URAR0693.GC1BsmRooms2Adj = "";

		if !IsEmpty(URAR0693.GC2BsmRooms2) Then
			URAR0693.GC2BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC2BsmRooms2)) * n2)/100)*100);
		else
			URAR0693.GC2BsmRooms2Adj = "";

		if !IsEmpty(URAR0693.GC3BsmRooms2) Then
			URAR0693.GC3BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC3BsmRooms2)) * n2)/100)*100);
		Else
			URAR0693.GC3BsmRooms2Adj = "";

		If !IsEmpty(SComp4to6.GC1BsmRooms2) Then
			SComp4to6.GC1BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC1BsmRooms2Adj = "";

		If !IsEmpty(SComp4to6.GC2BsmRooms2) Then
			SComp4to6.GC2BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC2BsmRooms2Adj = "";

		If !IsEmpty(SComp4to6.GC3BsmRooms2) Then
			SComp4to6.GC3BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC3BsmRooms2Adj = "";
	End;
end;


Formula:
routine main() returns nothing is
/* no depends URAR0693.GC2Plus_Box URAR0693.GC2Minus_Box */
begin
	float adj, price;
	adj =	atof(URAR0693.GC2SalesFin1Adj)  + atof(URAR0693.GC2SalesFin2Adj) + 
			atof(URAR0693.GC2DateOfSaleAdj) + atof(URAR0693.GC2LocationAdj) +
			atof(URAR0693.GC2LeaseholdAdj)	+ atof(URAR0693.GC2SiteAdj) +
			atof(URAR0693.GC2ViewAdj)		+ atof(URAR0693.GC2DesignAdj) +
			atof(URAR0693.GC2QualConstrAdj) + atof(URAR0693.GC2AgeAdj) +
			atof(URAR0693.GC2ConditionAdj)	+ atof(URAR0693.GC2RoomsAdj) +
			atof(URAR0693.GC2GLASqFtAdj)	+ atof(URAR0693.GC2BsmRooms1Adj) +
			atof(URAR0693.GC2BsmRooms2Adj)	+ atof(URAR0693.GC2FuncUtilAdj) +
			atof(URAR0693.GC2HeatCoolAdj)	+ atof(URAR0693.GC2EnergyEffAdj) +
			atof(URAR0693.GC2GarCptAdj)		+ atof(URAR0693.GC2PorchEtc1Adj) +
			atof(URAR0693.GC2PorchEtc2Adj)	+ atof(URAR0693.GC2FenceEtcAdj) +
			atof(URAR0693.GC2ExtraItemAdj);

	price = atof(URAR0693.GC2SalePrice);
	URAR0693.GC2NetAdjAmt = ToString(Round(adj));
	URAR0693.GC2IndValue = ToString(Round(price+adj));

	if adj >= 0 Then
	begin
		URAR0693.GC2Plus_Box = "X";
		URAR0693.GC2Minus_Box = "";
	end;
	else
	begin
		URAR0693.GC2Plus_Box = "";
		URAR0693.GC2Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing,
requires Changed("URAR0693.GC3SiteAdj"),
affects "URAR0693.GC1NetAdjAmt",
affects "URAR0693.GC2NetAdjAmt",
affects "URAR0693.GC3NetAdjAmt",
affects "URAR0693.GC1AdjPrice1_Text,URAR0693.GC1AdjPrice2_Text",
affects "URAR0693.GC2AdjPrice1_Text,URAR0693.GC2AdjPrice2_Text",
affects "URAR0693.GC3AdjPrice1_Text,URAR0693.GC3AdjPrice2_Text" is
/* no depends URAR0693.GSUSite URAR0693.GC1Site URAR0693.GC2Site URAR0693.GC3Site */
begin
	string n0;
	float n1, n2;
	n0 = URAR0693.GC3SiteAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(URAR0693.GSUSite);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1Site) Then
			URAR0693.GC1SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC1Site)) * n2)/100)*100);
		else
			URAR0693.GC1SiteAdj = "";

		if !IsEmpty(URAR0693.GC2Site) Then
			URAR0693.GC2SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC2Site)) * n2)/100)*100);
		else
			URAR0693.GC2SiteAdj = "";

		if !IsEmpty(URAR0693.GC3Site) Then
			URAR0693.GC3SiteAdj = ToString(Round(((n1 - atof(URAR0693.GC3Site)) * n2)/100)*100);
		Else
			URAR0693.GC3SiteAdj = "";

		If !IsEmpty(SComp4to6.GC1Site) Then
			SComp4to6.GC1SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC1Site)) * n2)/100)*100);
		Else
			SComp4to6.GC1SiteAdj = "";

		If !IsEmpty(SComp4to6.GC2Site) Then
			SComp4to6.GC2SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC2Site)) * n2)/100)*100);
		Else
			SComp4to6.GC2SiteAdj = "";

		If !IsEmpty(SComp4to6.GC3Site) Then
			SComp4to6.GC3SiteAdj = ToString(Round(((n1 - atof(SComp4to6.GC3Site)) * n2)/100)*100);
		Else
			SComp4to6.GC3SiteAdj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("URAR0693.GC3AgeAdj"),
affects "URAR0693.GC1NetAdjAmt",
affects "URAR0693.GC2NetAdjAmt",
affects "URAR0693.GC3NetAdjAmt",
affects "URAR0693.GC1AdjPrice1_Text,URAR0693.GC1AdjPrice2_Text",
affects "URAR0693.GC2AdjPrice1_Text,URAR0693.GC2AdjPrice2_Text",
affects "URAR0693.GC3AdjPrice1_Text,URAR0693.GC3AdjPrice2_Text" is
/* no depends URAR0693.GSUAge URAR0693.GC1Age URAR0693.GC2Age URAR0693.GC3Age */
begin
	string n0;
	float n1, n2;
	n0 = URAR0693.GC3AgeAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(URAR0693.GSUAge);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if n1 < 1000 then
			n2 = 0-n2;

		if !IsEmpty(URAR0693.GC1Age) Then
			URAR0693.GC1AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC1Age)) * n2)/100)*100);
		else
			URAR0693.GC1AgeAdj = "";

		if !IsEmpty(URAR0693.GC2Age) Then
			URAR0693.GC2AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC2Age)) * n2)/100)*100);
		else
			URAR0693.GC2AgeAdj = "";

		if !IsEmpty(URAR0693.GC3Age) Then
			URAR0693.GC3AgeAdj = ToString(Round(((n1 - atof(URAR0693.GC3Age)) * n2)/100)*100);
		Else
			URAR0693.GC3AgeAdj = "";

		If !IsEmpty(SComp4to6.GC1Age) Then
			SComp4to6.GC1AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC1Age)) * n2)/100)*100);
		Else
			SComp4to6.GC1AgeAdj = "";

		If !IsEmpty(SComp4to6.GC2Age) Then
			SComp4to6.GC2AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC2Age)) * n2)/100)*100);
		Else
			SComp4to6.GC2AgeAdj = "";

		If !IsEmpty(SComp4to6.GC3Age) Then
			SComp4to6.GC3AgeAdj = ToString(Round(((n1 - atof(SComp4to6.GC3Age)) * n2)/100)*100);
		Else
			SComp4to6.GC3AgeAdj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("URAR0693.GC3GLASqFtAdj"),
affects "URAR0693.GC1NetAdjAmt",
affects "URAR0693.GC2NetAdjAmt",
affects "URAR0693.GC3NetAdjAmt",
affects "URAR0693.GC1AdjPrice1_Text,URAR0693.GC1AdjPrice2_Text",
affects "URAR0693.GC2AdjPrice1_Text,URAR0693.GC2AdjPrice2_Text",
affects "URAR0693.GC3AdjPrice1_Text,URAR0693.GC3AdjPrice2_Text" is
/* no depends URAR0693.GSUGLASqFt URAR0693.GC1GLASqFt URAR0693.GC2GLASqFt URAR0693.GC3GLASqFt */
begin
	string n0;
	float n1, n2;
	n0 = URAR0693.GC3GLASqFtAdj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(URAR0693.GSUGLASqFt);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1GLASqFt) Then
			URAR0693.GC1GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC1GLASqFt)) * n2)/100)*100);
		else
			URAR0693.GC1GLASqFtAdj = "";

		if !IsEmpty(URAR0693.GC2GLASqFt) Then
			URAR0693.GC2GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC2GLASqFt)) * n2)/100)*100);
		else
			URAR0693.GC2GLASqFtAdj = "";

		if !IsEmpty(URAR0693.GC3GLASqFt) Then
			URAR0693.GC3GLASqFtAdj = ToString(Round(((n1 - atof(URAR0693.GC3GLASqFt)) * n2)/100)*100);
		Else
			URAR0693.GC3GLASqFtAdj = "";

		If !IsEmpty(SComp4to6.GC1GLASqFt) Then
			SComp4to6.GC1GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC1GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC1GLASqFtAdj = "";

		If !IsEmpty(SComp4to6.GC2GLASqFt) Then
			SComp4to6.GC2GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC2GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC2GLASqFtAdj = "";

		If !IsEmpty(SComp4to6.GC3GLASqFt) Then
			SComp4to6.GC3GLASqFtAdj = ToString(Round(((n1 - atof(SComp4to6.GC3GLASqFt)) * n2)/100)*100);
		Else
			SComp4to6.GC3GLASqFtAdj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("URAR0693.GC3BsmRooms1Adj"),
affects "URAR0693.GC1NetAdjAmt",
affects "URAR0693.GC2NetAdjAmt",
affects "URAR0693.GC3NetAdjAmt",
affects "URAR0693.GC1AdjPrice1_Text,URAR0693.GC1AdjPrice2_Text",
affects "URAR0693.GC2AdjPrice1_Text,URAR0693.GC2AdjPrice2_Text",
affects "URAR0693.GC3AdjPrice1_Text,URAR0693.GC3AdjPrice2_Text" is
/* no depends URAR0693.GSUBsmRooms1 URAR0693.GC1BsmRooms1 URAR0693.GC2BsmRooms1 URAR0693.GC3BsmRooms1 */
begin
	string n0;
	float n1, n2;
	n0 = URAR0693.GC3BsmRooms1Adj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(URAR0693.GSUBsmRooms1);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1BsmRooms1) Then
			URAR0693.GC1BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC1BsmRooms1)) * n2)/100)*100);
		else
			URAR0693.GC1BsmRooms1Adj = "";

		if !IsEmpty(URAR0693.GC2BsmRooms1) Then
			URAR0693.GC2BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC2BsmRooms1)) * n2)/100)*100);
		else
			URAR0693.GC2BsmRooms1Adj = "";

		if !IsEmpty(URAR0693.GC3BsmRooms1) Then
			URAR0693.GC3BsmRooms1Adj = ToString(Round(((n1 - atof(URAR0693.GC3BsmRooms1)) * n2)/100)*100);
		else
			URAR0693.GC3BsmRooms1Adj = "";

		If !IsEmpty(SComp4to6.GC1BsmRooms1) Then
			SComp4to6.GC1BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC1BsmRooms1Adj = "";

		If !IsEmpty(SComp4to6.GC2BsmRooms1) Then
			SComp4to6.GC2BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC2BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC2BsmRooms1Adj = "";

		If !IsEmpty(SComp4to6.GC3BsmRooms1) Then
			SComp4to6.GC3BsmRooms1Adj = ToString(Round(((n1 - atof(SComp4to6.GC3BsmRooms1)) * n2)/100)*100);
		Else
			SComp4to6.GC3BsmRooms1Adj = "";
	End;
end;


Formula:
routine main() returns nothing,
requires Changed("URAR0693.GC3BsmRooms2Adj"),
affects "URAR0693.GC1NetAdjAmt",
affects "URAR0693.GC2NetAdjAmt",
affects "URAR0693.GC3NetAdjAmt",
affects "URAR0693.GC1AdjPrice1_Text,URAR0693.GC1AdjPrice2_Text",
affects "URAR0693.GC2AdjPrice1_Text,URAR0693.GC2AdjPrice2_Text",
affects "URAR0693.GC3AdjPrice1_Text,URAR0693.GC3AdjPrice2_Text" is
/* no depends URAR0693.GSUBsmRooms2 URAR0693.GC1BsmRooms2 URAR0693.GC2BsmRooms2 URAR0693.GC3BsmRooms2 */
begin
	string n0;
	float n1, n2;
	n0 = URAR0693.GC3BsmRooms2Adj;

	if StrLeft(n0,1) == "$" then
	begin
		n1 = atof(URAR0693.GSUBsmRooms2);
		n2 = atof(StrRight(n0, StrLength(n0)-1));

		if !IsEmpty(URAR0693.GC1BsmRooms2) Then
			URAR0693.GC1BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC1BsmRooms2)) * n2)/100)*100);
		else
			URAR0693.GC1BsmRooms2Adj = "";

		if !IsEmpty(URAR0693.GC2BsmRooms2) Then
			URAR0693.GC2BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC2BsmRooms2)) * n2)/100)*100);
		else
			URAR0693.GC2BsmRooms2Adj = "";

		if !IsEmpty(URAR0693.GC3BsmRooms2) Then
			URAR0693.GC3BsmRooms2Adj = ToString(Round(((n1 - atof(URAR0693.GC3BsmRooms2)) * n2)/100)*100);
		Else
			URAR0693.GC3BsmRooms2Adj = "";

		If !IsEmpty(SComp4to6.GC1BsmRooms2) Then
			SComp4to6.GC1BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC1BsmRooms2Adj = "";

		If !IsEmpty(SComp4to6.GC2BsmRooms2) Then
			SComp4to6.GC2BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC2BsmRooms2Adj = "";

		If !IsEmpty(SComp4to6.GC3BsmRooms2) Then
			SComp4to6.GC3BsmRooms2Adj = ToString(Round(((n1 - atof(SComp4to6.GC1BsmRooms2)) * n2)/100)*100);
		Else
			SComp4to6.GC3BsmRooms2Adj = "";
	End;
end;


Formula:
routine main() returns nothing is
/* no depends URAR0693.GC3Plus_Box URAR0693.GC3Minus_Box */
begin
	float adj, price;
	adj=atof(URAR0693.GC3SalesFin1Adj)  + atof(URAR0693.GC3SalesFin2Adj) + 
		atof(URAR0693.GC3DateOfSaleAdj) + atof(URAR0693.GC3LocationAdj) +
		atof(URAR0693.GC3LeaseholdAdj)	+ atof(URAR0693.GC3SiteAdj) +
		atof(URAR0693.GC3ViewAdj)		+ atof(URAR0693.GC3DesignAdj) +
		atof(URAR0693.GC3QualConstrAdj) + atof(URAR0693.GC3AgeAdj) +
		atof(URAR0693.GC3ConditionAdj)	+ atof(URAR0693.GC3RoomsAdj) +
		atof(URAR0693.GC3GLASqFtAdj)	+ atof(URAR0693.GC3BsmRooms1Adj) +
		atof(URAR0693.GC3BsmRooms2Adj)	+ atof(URAR0693.GC3FuncUtilAdj) +
		atof(URAR0693.GC3HeatCoolAdj)	+ atof(URAR0693.GC3EnergyEffAdj) +
		atof(URAR0693.GC3GarCptAdj)		+ atof(URAR0693.GC3PorchEtc1Adj) +
		atof(URAR0693.GC3PorchEtc2Adj)	+ atof(URAR0693.GC3FenceEtcAdj) +
		atof(URAR0693.GC3ExtraItemAdj);

	price = atof(URAR0693.GC3SalePrice);
	URAR0693.GC3NetAdjAmt = ToString(Round(adj));
	URAR0693.GC3IndValue = ToString(Round(price+adj));

	if adj >= 0 Then
	begin
		URAR0693.GC3Plus_Box = "X";
		URAR0693.GC3Minus_Box = "";
	end;
	else
	begin
		URAR0693.GC3Plus_Box = "";
		URAR0693.GC3Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("SCMIndValIncome") is
begin
	string b;
	float val;
	b = URAR0693.SCMIndValIncome;
	val = Round(atof(URAR0693.SCMEstMktRent)*atof(URAR0693.SCMGRM));

	If IsEmpty(b) Then
		URAR0693.SCMIndValIncome = ToString(val,5);
	else if Isnumber(b) or atof(b) != val then
		URAR0693.SCMIndValIncome = ToString(val,5);
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.RECInspectDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.RECEstMktValue");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.RECSupInsp_Did");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.RECSupInsp_DidNot");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.RECApprSignDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.RECApprCert");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.RECApprLic");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.RECApprCertSt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.RECAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.RECSuperviser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.RECSupSignDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.RECSupCert");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.RECSupLic");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.RECSupCertSt");
end;


Formula:
routine main() returns nothing is
begin
	float adj, price;
	string net;
	price = atof(URAR0693.GC1SalePrice);
	if price != 0 then
	begin
		adj=atof(URAR0693.GC1SalesFinAdj)	+ atof(URAR0693.GC1SalesFin2Adj) +
			atof(URAR0693.GC1DateOfSaleAdj) + atof(URAR0693.GC1LocationAdj) +
			atof(URAR0693.GC1LeaseholdAdj)	+ atof(URAR0693.GC1SiteAdj) +
			atof(URAR0693.GC1ViewAdj)		+ atof(URAR0693.GC1DesignAdj) +
			atof(URAR0693.GC1QualConstrAdj) + atof(URAR0693.GC1AgeAdj) +
			atof(URAR0693.GC1ConditionAdj)	+ atof(URAR0693.GC1RoomsAdj) +
			atof(URAR0693.GC1GLASqFtAdj)	+ atof(URAR0693.GC1BsmRooms1Adj) +
			atof(URAR0693.GC1BsmRooms2Adj)	+ atof(URAR0693.GC1FuncUtilAdj) +
			atof(URAR0693.GC1HeatCoolAdj)	+ atof(URAR0693.GC1EnergyEffAdj) +
			atof(URAR0693.GC1GarCptAdj)	 	+ atof(URAR0693.GC1PorchEtc1Adj) +
			atof(URAR0693.GC1PorchEtc2Adj)	+ atof(URAR0693.GC1FenceEtcAdj) +
			atof(URAR0693.GC1ExtraItemAdj);

		net = "       "+ToString(Abs(adj)/price * 100,2)+"%";
		URAR0693.GC1AdjPrice2_Text = "N:"+StrRight(net,7);
	end;
	else
		URAR0693.GC1AdjPrice2_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	float adj, price;
	string net;
	price = atof(URAR0693.GC2SalePrice);
	if price != 0 then
	begin
		adj=atof(URAR0693.GC2SalesFinAdj)	+ atof(URAR0693.GC2SalesFin2Adj) +
			atof(URAR0693.GC2DateOfSaleAdj) + atof(URAR0693.GC2LocationAdj) +
			atof(URAR0693.GC2LeaseholdAdj)	+ atof(URAR0693.GC2SiteAdj) +
			atof(URAR0693.GC2ViewAdj)		+ atof(URAR0693.GC2DesignAdj) +
			atof(URAR0693.GC2QualConstrAdj) + atof(URAR0693.GC2AgeAdj) +
			atof(URAR0693.GC2ConditionAdj)	+ atof(URAR0693.GC2RoomsAdj) +
			atof(URAR0693.GC2GLASqFtAdj)	+ atof(URAR0693.GC2BsmRooms1Adj) +
			atof(URAR0693.GC2BsmRooms2Adj)	+ atof(URAR0693.GC2FuncUtilAdj) +
			atof(URAR0693.GC2HeatCoolAdj)	+ atof(URAR0693.GC2EnergyEffAdj) +
			atof(URAR0693.GC2GarCptAdj)	 	+ atof(URAR0693.GC2PorchEtc1Adj) +
			atof(URAR0693.GC2PorchEtc2Adj)	+ atof(URAR0693.GC2FenceEtcAdj) +
			atof(URAR0693.GC2ExtraItemAdj);

		net = "       "+ToString(Abs(adj)/price * 100, 2)+"%";
		URAR0693.GC2AdjPrice2_Text = "N:"+StrRight(net,7);
	end;
	else
		URAR0693.GC2AdjPrice2_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	float adj, price;
	string net;
	price = atof(URAR0693.GC3SalePrice);
	if price != 0 then
	begin
		adj=atof(URAR0693.GC3SalesFinAdj)	+ atof(URAR0693.GC3SalesFin2Adj) +
			atof(URAR0693.GC3DateOfSaleAdj) + atof(URAR0693.GC3LocationAdj) +
			atof(URAR0693.GC3LeaseholdAdj)	+ atof(URAR0693.GC3SiteAdj) +
			atof(URAR0693.GC3ViewAdj)		+ atof(URAR0693.GC3DesignAdj) +
			atof(URAR0693.GC3QualConstrAdj) + atof(URAR0693.GC3AgeAdj) +
			atof(URAR0693.GC3ConditionAdj)	+ atof(URAR0693.GC3RoomsAdj) +
			atof(URAR0693.GC3GLASqFtAdj)	+ atof(URAR0693.GC3BsmRooms1Adj) +
			atof(URAR0693.GC3BsmRooms2Adj)	+ atof(URAR0693.GC3FuncUtilAdj) +
			atof(URAR0693.GC3HeatCoolAdj)	+ atof(URAR0693.GC3EnergyEffAdj) +
			atof(URAR0693.GC3GarCptAdj)	 	+ atof(URAR0693.GC3PorchEtc1Adj) +
			atof(URAR0693.GC3PorchEtc2Adj)	+ atof(URAR0693.GC3FenceEtcAdj) +
			atof(URAR0693.GC3ExtraItemAdj);

		net = "       "+ToString(Abs(adj)/price * 100, 2)+"%";
		URAR0693.GC3AdjPrice2_Text = "N:"+StrRight(net,7);
	end;
	else
		URAR0693.GC3AdjPrice2_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	float adj, price;
	string gross;
	price = atof(URAR0693.GC3SalePrice);
	if price != 0 then
	begin
		adj=abs(atof(URAR0693.GC3SalesFin1Adj))  + abs(atof(URAR0693.GC3SalesFin2Adj)) + 
			abs(atof(URAR0693.GC3DateOfSaleAdj)) + abs(atof(URAR0693.GC3LocationAdj)) +
			abs(atof(URAR0693.GC3LeaseholdAdj))	 + abs(atof(URAR0693.GC3SiteAdj)) +
			abs(atof(URAR0693.GC3ViewAdj))		 + abs(atof(URAR0693.GC3DesignAdj)) +
			abs(atof(URAR0693.GC3QualConstrAdj)) + abs(atof(URAR0693.GC3AgeAdj)) +
			abs(atof(URAR0693.GC3ConditionAdj))	 + abs(atof(URAR0693.GC3RoomsAdj)) +
			abs(atof(URAR0693.GC3GLASqFtAdj))	 + abs(atof(URAR0693.GC3BsmRooms1Adj)) +
			abs(atof(URAR0693.GC3BsmRooms2Adj))	 + abs(atof(URAR0693.GC3FuncUtilAdj)) +
			abs(atof(URAR0693.GC3HeatCoolAdj))	 + abs(atof(URAR0693.GC3EnergyEffAdj)) +
			abs(atof(URAR0693.GC3GarCptAdj))	 + abs(atof(URAR0693.GC3PorchEtc1Adj)) +
			abs(atof(URAR0693.GC3PorchEtc2Adj))	 + abs(atof(URAR0693.GC3FenceEtcAdj)) +
			abs(atof(URAR0693.GC3ExtraItemAdj));

		gross = "       "+ToString(adj/price * 100, 2)+"%";
		URAR0693.GC3AdjPrice1_Text = "G:"+StrRight(gross,7);
	end;
	else
		URAR0693.GC3AdjPrice1_Text = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.RECApprLicSt");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("URAR0693.RECSupLicSt");
end;


Formula:
routine main() returns nothing,
requires !Changed("URAR0693.CSTGarCptCost"),
affects "URAR0693.CSTTotCostNew" is
begin
	integer i;
	i = Round(atof(URAR0693.CSTGarCptSF) * atof(URAR0693.CSTGarCptPPSF));
	URAR0693.CSTGarCptCost = ToString(i);
end;


Formula:
routine main() returns nothing,
affects "URAR0693.GSUGLASqFt",
affects "URAR0693.CSTDwellCost" is
/* no depends URAR0693.CSTDwellSF */
begin
	string gla;
	gla = GetArea("GrossLivingArea");
	if IsEmpty(gla) then
	begin
		integer i;
		i = atoi(URAR0693.RMSLv1Area) + atoi(URAR0693.RMSLv2Area) +
			atoi(URAR0693.RMSOthArea);
		gla = ToString(i);
	end;

	URAR0693.RMSAGSqFtGLA = gla;
	CopyField("URAR0693.RMSAGSqFtGLA");

	if !Changed("URAR0693.CSTDwellSF") then
		URAR0693.CSTDwellSF = gla;

	if !Changed("URAR0693.GSUGLASqFt") then
		URAR0693.GSUGLASqFt = gla;
end;


Formula:
routine main() returns nothing is
begin
	URAR0693.P2FileNumber = URAR0693.FileNumber;
	CopyField("URAR0693.FileNumber");
end;


# USPAP

Formula:
routine main() returns nothing is
begin
	CopyField("USPAP.SUBBorrower");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("USPAP.SUBPropAddress");
end;


Formula:
routine main() returns nothing is
/* no depends USPAP.SUBState USPAP.SUBZip */
begin
	String CSZ;

	CopyField("USPAP.SUBCity");
	begin
		CSZ = USPAP.SUBCity;

		if !IsEmpty(USPAP.SUBState) then
			CSZ = CSZ + ", " + USPAP.SUBState;

		if !IsEmpty(USPAP.SUBZip) then
			CSZ = CSZ + " " + USPAP.SUBZip;

		USPAP.SUBPropCityStateZip = CSZ;
	end;

	CopyField("USPAP.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("USPAP.SUBCounty");
end;


Formula:
routine main() returns nothing is
/* no depends USPAP.SUBCity USPAP.SUBZip */
begin
	String CSZ;

	CopyField("USPAP.SUBState");
	begin
		CSZ = USPAP.SUBCity;

		if !IsEmpty(USPAP.SUBState) then
			CSZ = CSZ + ", " + USPAP.SUBState;

		if !IsEmpty(USPAP.SUBZip) then
			CSZ = CSZ + " " + USPAP.SUBZip;

		USPAP.SUBPropCityStateZip = CSZ;
	end;

	CopyField("USPAP.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
/* no depends USPAP.SUBCity USPAP.SUBState */
begin
	String CSZ;

	CopyField("USPAP.SUBZip");
	begin
		CSZ = USPAP.SUBCity;

		if !IsEmpty(USPAP.SUBState) then
			CSZ = CSZ + ", " + USPAP.SUBState;

		if !IsEmpty(USPAP.SUBZip) then
			CSZ = CSZ + " " + USPAP.SUBZip;

		USPAP.SUBPropCityStateZip = CSZ;
	end;

	CopyField("USPAP.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("USPAP.SUBLenClient");
end;


# VacantLand

Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.SUBMapRef");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.SUBCenTract");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.SUBBorrower");
end;


Formula:
routine main() returns nothing,
affects "VacantLand.GSUAddress1" is
begin
	if !Changed("VacantLand.GSUAddress1") then
		VacantLand.GSUAddress1 = VacantLand.SUBPropAddress;
	CopyField("VacantLand.SUBPropAddress");
end;


Formula:
routine main() returns nothing is
/* no depends VacantLand.SUBState VacantLand.SUBZip */
begin
	CopyField("VacantLand.SUBCity");
	begin
		VacantLand.SUBPropCityStateZip = VacantLand.SUBCity + ", " +
			VacantLand.SUBState + " " + VacantLand.SUBZip;
	end;
	CopyField("VacantLand.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.SUBCounty");
end;


Formula:
routine main() returns nothing is
/* no depends VacantLand.SUBCity VacantLand.SUBZip */
begin
	CopyField("VacantLand.SUBState");
	begin
		VacantLand.SUBPropCityStateZip = VacantLand.SUBCity + ", " +
			VacantLand.SUBState + " " + VacantLand.SUBZip;
	end;
	CopyField("VacantLand.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
/* no depends VacantLand.SUBCity VacantLand.SUBState */
begin
	CopyField("VacantLand.SUBZip");
	begin
		VacantLand.SUBPropCityStateZip = VacantLand.SUBCity + ", " +
			VacantLand.SUBState + " " + VacantLand.SUBZip;
	end;
	CopyField("VacantLand.SUBPropCityStateZip");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.SUBLegalDescrip");
end;


Formula:
routine main() returns nothing,
affects "VacantLand.GSUSalePrice" is
begin
	if !Changed("VacantLand.GSUSalePrice") then
		VacantLand.GSUSalePrice = VacantLand.SUBSalePrice;
	CopyField("VacantLand.SUBSalePrice");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.SUBDateOfSale");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.SUBLoanTerm");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.SUBRETax");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.SUBLoanConc");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.SUBOtherConc");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.SUBLenClient");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.SUBLCAddress");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.SUBOccupant");
end;


Formula:
routine main() returns nothing,
affects "VacantLand.RECAppraiser" is
begin
	if !Changed("VacantLand.RECAppraiser") then
		VacantLand.RECAppraiser = VacantLand.SUBAppraiser;
	CopyField("VacantLand.SUBAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.SUBApprInstruct");
end;


Formula:
routine main() returns nothing,
requires !Changed("VacantLand.GSULocation") is
begin
	VacantLand.GSULocation = "Good";
end;


Formula:
routine main() returns nothing,
requires !Changed("VacantLand.GSULocation") is
begin
	VacantLand.GSULocation = "Average";
end;


Formula:
routine main() returns nothing,
requires !Changed("VacantLand.GSULocation") is
begin
	VacantLand.GSULocation = "Fair";
end;


Formula:
routine main() returns nothing,
requires !Changed("VacantLand.GSULocation") is
begin
	VacantLand.GSULocation = "Poor";
end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(VacantLand.LUCNotLikely) then
	begin
		VacantLand.LUCFrom = "";
		VacantLand.LUCTo = "";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if IsEmpty(VacantLand.PROOwner) and IsEmpty(VacantLand.PROTenant) then
		VacantLand.PROVacant = "";
end;


Formula:
routine main() returns nothing,
requires Changed("VacantLand.SFHPricePred") is
begin
	float p;
	p = atof(VacantLand.SFHPricePred);
	if p < atof(VacantLand.SFHPriceLow) then
		Message("Warning: Predominant price below low price");
	else if p > atof(VacantLand.SFHPriceHigh) then
		Message("Warning: Predominant price above high price");
end;


Formula:
routine main() returns nothing,
requires Changed("VacantLand.SFHAgePred") is
begin
	float p;
	p = atof(VacantLand.SFHAgePred);
	if p < atof(VacantLand.SFHAgeLow) then
		Message("Warning: Predominant age below low age");
	else if p > atof(VacantLand.SFHAgeHigh) then
		Message("Warning: Predominant age above high age");
end;


Formula:
routine main() returns nothing,
affects "VacantLand.GSUSite" is
begin
	float rslt, fntVal, lftVal, bckVal, rtVal;
	integer n, len, xpos, x2pos, x3pos;
	string dim, sr;

	rslt = 0;
	sr = VacantLand.SITSiteArea;
	dim = VacantLand.SITDimensions;
	len = StrLength(dim);
	xpos = StrChr(dim,"x");
	if xpos > 0 then
	begin
		fntVal = atof(dim);
		lftVal = atof(StrRight(dim,len-xpos-1));
		bckVal = 0;
		rtVal = 0;
		x2pos = StrChr(StrRight(dim,len-xpos-1),"x");
		if x2pos > 0 then
		begin
			bckVal = atof(StrRight(dim,len-xpos-x2pos-1));
			x3pos = StrChr(StrRight(dim,len-xpos-x2pos-1),"x");
			if x3pos > 0 then
				rtVal = atof(StrRight(dim,len-xpos-x2pos-x3pos-1));
			if fntVal != bckVal then
				Message(" Irregular lot.  Verify calculation...");
			rslt = ((fntVal+bckVal) / 2) * ((lftVal+rtVal) / 2);
		end;
		else
			rslt = fntVal * lftVal;
	end;

	n = StrChr(sr, "Acres");
	if n >= 0 or StrUpper(StrLeft(sr,1)) == "A" then
		sr = "A";
	else
		sr = "S";

	if StrUpper(sr) == "A" then
		VacantLand.SITSiteArea = ToString(rslt / 43560.00,5) + " Acres";
	else
		VacantLand.SITSiteArea = ToString(rslt,5) + " Sq.Ft.";

	if !Changed("VacantLand.SITSize") then
		VacantLand.SITSize = VacantLand.SITSiteArea;

	if !Changed("VacantLand.GSUSite") then
		VacantLand.GSUSite = VacantLand.SITSiteArea;

	VacantLand.GSUGLASqFt = ToString(rslt,5);
	CopyField("VacantLand.GSUGLASqFt");

end;


Formula:
routine main() returns nothing is
begin
	if !IsEmpty(VacantLand.SITHBUse_Other) then
		VacantLand.SITHBUse_Explain = "";
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.GSUAddress1");
end;


Formula:
routine main() returns nothing,
requires !Changed("VacantLand.GSUAddress2") is
begin
	string addr;
	addr = VacantLand.SUBCity;
	if !IsEmpty(VacantLand.SUBState) then
		addr = addr + ", " + VacantLand.SUBState;

	VacantLand.GSUAddress2 = addr;
	CopyField("VacantLand.GSUAddress2");
end;


Formula:
routine main() returns nothing,
affects "VacantLand.GSUPriceArea" is
begin
	CopyField("VacantLand.GSUSalePrice");
end;


Formula:
routine main() returns nothing is
begin
	if atof(VacantLand.GSUSite) > 0 then
		VacantLand.GSUPriceArea = ToString(atof(VacantLand.GSUSalePrice)/atof(VacantLand.GSUSite),5);
	CopyField("VacantLand.GSUPriceArea");
	VacantLand.GSUPriceGLA = VacantLand.GSUPriceArea;
	CopyField("VacantLand.GSUPriceGLA");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.GSUDataSource1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.GSUDataOfSale");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.GSULocation");
end;


Formula:
routine main() returns nothing,
affects "VacantLand.GSUPriceArea" is
begin
	if !Changed("VacantLand.GSUSite") then
		VacantLand.GSUSite = VacantLand.SITSiteArea + "/" + 
			VacantLand.SITView;
	CopyField("VacantLand.GSUSite");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.GSUExtraItem");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.GSUExtraItem2");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.GSUExtraItem3");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.GSUExtraItem4");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.GSUSalesFin1");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.GSUSalesFin2");
end;


Formula:
routine main() returns nothing is
begin
	if atof(VacantLand.GC1Site) > 0 then
		VacantLand.GC1PriceArea = ToString(atof(VacantLand.GC1SalePrice)/atof(VacantLand.GC1Site),5);
end;


Formula:
routine main() returns nothing,
requires Changed("VacantLand.GC1SiteAdj"),
affects "VacantLand.GC1NetAdjAmt,VacantLand.GC2NetAdjAmt,VacantLand.GC3NetAdjAmt",
affects "VacantLand.GC1AdjPrice1,VacantLand.GC2AdjPrice1,VacantLand.GC3AdjPrice1,",
affects "VacantLand.GC1AdjPrice2,VacantLand.GC2AdjPrice2,VacantLand.GC3AdjPrice2," is
/* no depends VacantLand.GSUSite VacantLand.GC1Site VacantLand.GC2Site VacantLand.GC3Site */
begin
	string n;
	float a, s;
	n = VacantLand.GC1SiteAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(VacantLand.GSUSite);
		a = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(VacantLand.GC1Site) then
			VacantLand.GC1SiteAdj = ToString(Round(((s-atof(VacantLand.GC1Site))*a)/100)*100);
		else
			VacantLand.GC1SiteAdj = "";

		if !IsEmpty(VacantLand.GC2Site) then
			VacantLand.GC2SiteAdj = ToString(Round(((s-atof(VacantLand.GC2Site))*a)/100)*100);
		else
			VacantLand.GC2SiteAdj = "";

		if !IsEmpty(VacantLand.GC3Site) then
			VacantLand.GC3SiteAdj = ToString(Round(((s-atof(VacantLand.GC3Site))*a)/100)*100);
		else
			VacantLand.GC3SiteAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("VacantLand.GC1NetAdjAmt") is
begin
	float a, p;
	a = atof(VacantLand.GC1DateOfSaleAdj) + atof(VacantLand.GC1LocationAdj) + 
		atof(VacantLand.GC1SiteAdj) + atof(VacantLand.GC1ExtraItemAdj) + 
		atof(VacantLand.GC1ExtraItemAdj2) + atof(VacantLand.GC1ExtraItemAdj3) + 
		atof(VacantLand.GC1ExtraItemAdj4) + atof(VacantLand.GC1SalesFin1Adj) + 
		atof(VacantLand.GC1SalesFin2Adj);

	p = 0;
	if atof(VacantLand.GC1Site) != 0 then
	begin;
		p = Round(atof(VacantLand.GC1SalePrice)/atof(VacantLand.GC1Site)*100);
		p = p / 100;
	end;
	else
		p = atof(VacantLand.GC1SalePrice);

	VacantLand.GC1NetAdjAmt = ToString(a,5);
	VacantLand.GC1IndValue = ToString(p+a,5);

	if IsEmpty(ToString(a,2)) then
	begin
		VacantLand.GC1Plus_Box = "";
		VacantLand.GC1Minus_Box = "";
	end;
	else if a >= 0 then
	begin
		VacantLand.GC1Plus_Box = "X";
		VacantLand.GC1Minus_Box = "";
	end;
	else
	begin
		VacantLand.GC1Plus_Box = "";
		VacantLand.GC1Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if atof(VacantLand.GC2Site) > 0 then
		VacantLand.GC2PriceArea = ToString(atof(VacantLand.GC2SalePrice)/atof(VacantLand.GC2Site),5);
end;


Formula:
routine main() returns nothing,
requires Changed("VacantLand.GC2SiteAdj"),
affects "VacantLand.GC1NetAdjAmt,VacantLand.GC2NetAdjAmt,VacantLand.GC3NetAdjAmt",
affects "VacantLand.GC1AdjPrice1,VacantLand.GC2AdjPrice1,VacantLand.GC3AdjPrice1,",
affects "VacantLand.GC1AdjPrice2,VacantLand.GC2AdjPrice2,VacantLand.GC3AdjPrice2," is
/* no depends VacantLand.GSUSite VacantLand.GC1Site VacantLand.GC2Site VacantLand.GC3Site */
begin
	string n;
	float a, s;
	n = VacantLand.GC2SiteAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(VacantLand.GSUSite);
		a = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(VacantLand.GC1Site) then
			VacantLand.GC1SiteAdj = ToString(Round(((s-atof(VacantLand.GC1Site))*a)/100)*100);
		else
			VacantLand.GC1SiteAdj = "";

		if !IsEmpty(VacantLand.GC2Site) then
			VacantLand.GC2SiteAdj = ToString(Round(((s-atof(VacantLand.GC2Site))*a)/100)*100);
		else
			VacantLand.GC2SiteAdj = "";

		if !IsEmpty(VacantLand.GC3Site) then
			VacantLand.GC3SiteAdj = ToString(Round(((s-atof(VacantLand.GC3Site))*a)/100)*100);
		else
			VacantLand.GC3SiteAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("VacantLand.GC2NetAdjAmt") is
begin
	float a, p;
	a = atof(VacantLand.GC2DateOfSaleAdj) + atof(VacantLand.GC2LocationAdj) + 
		atof(VacantLand.GC2SiteAdj) + atof(VacantLand.GC2ExtraItemAdj) + 
		atof(VacantLand.GC2ExtraItemAdj2) + atof(VacantLand.GC2ExtraItemAdj3) + 
		atof(VacantLand.GC2ExtraItemAdj4) + atof(VacantLand.GC2SalesFin1Adj) + 
		atof(VacantLand.GC2SalesFin2Adj);

	p = 0;
	if atof(VacantLand.GC2Site) != 0 then
	begin
		p = Round(atof(VacantLand.GC2SalePrice)/atof(VacantLand.GC2Site)*100);
		p = p /100;
	end;
	else
		p = atof(VacantLand.GC2SalePrice);

	VacantLand.GC2NetAdjAmt = ToString(a,2);
	VacantLand.GC2IndValue = ToString(p+a,2);

	if IsEmpty(ToString(a,2)) then
	begin
		VacantLand.GC2Plus_Box = "";
		VacantLand.GC2Minus_Box = "";
	end;
	else if a >= 0 then
	begin
		VacantLand.GC2Plus_Box = "X";
		VacantLand.GC2Minus_Box = "";
	end;
	else
	begin
		VacantLand.GC2Plus_Box = "";
		VacantLand.GC2Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing is
begin
	if atof(VacantLand.GC3Site) > 0 then
		VacantLand.GC3PriceArea = ToString(atof(VacantLand.GC3SalePrice)/atof(VacantLand.GC3Site),5);
end;


Formula:
routine main() returns nothing,
requires Changed("VacantLand.GC3SiteAdj"),
affects "VacantLand.GC1NetAdjAmt,VacantLand.GC2NetAdjAmt,VacantLand.GC3NetAdjAmt",
affects "VacantLand.GC1AdjPrice1,VacantLand.GC2AdjPrice1,VacantLand.GC3AdjPrice1,",
affects "VacantLand.GC1AdjPrice2,VacantLand.GC2AdjPrice2,VacantLand.GC3AdjPrice2," is
/* no depends VacantLand.GSUSite VacantLand.GC1Site VacantLand.GC2Site VacantLand.GC3Site */
begin
	string n;
	float a, s;
	n = VacantLand.GC3SiteAdj;
	if StrLeft(n,1) == "$" then
	begin
		s = atof(VacantLand.GSUSite);
		a = atof(StrRight(n, StrLength(n)-1));
		if !IsEmpty(VacantLand.GC1Site) then
			VacantLand.GC1SiteAdj = ToString(Round(((s-atof(VacantLand.GC1Site))*a)/100)*100);
		else
			VacantLand.GC1SiteAdj = "";

		if !IsEmpty(VacantLand.GC2Site) then
			VacantLand.GC2SiteAdj = ToString(Round(((s-atof(VacantLand.GC2Site))*a)/100)*100);
		else
			VacantLand.GC2SiteAdj = "";

		if !IsEmpty(VacantLand.GC3Site) then
			VacantLand.GC3SiteAdj = ToString(Round(((s-atof(VacantLand.GC3Site))*a)/100)*100);
		else
			VacantLand.GC3SiteAdj = "";
	end;
end;


Formula:
routine main() returns nothing,
requires !Changed("VacantLand.GC3NetAdjAmt") is
begin
	float a, p;
	a = atof(VacantLand.GC3DateOfSaleAdj) + atof(VacantLand.GC3LocationAdj) + 
		atof(VacantLand.GC3SiteAdj) + atof(VacantLand.GC3ExtraItemAdj) + 
		atof(VacantLand.GC3ExtraItemAdj2) + atof(VacantLand.GC3ExtraItemAdj3) + 
		atof(VacantLand.GC3ExtraItemAdj4) + atof(VacantLand.GC3SalesFin1Adj) + 
		atof(VacantLand.GC3SalesFin2Adj);

	p = 0;
	if atof(VacantLand.GC3Site) != 0 then
	begin
		p = Round(atof(VacantLand.GC3SalePrice)/atof(VacantLand.GC3Site)*100);
		p = p / 100;
	end;
	else
		p = atof(VacantLand.GC3SalePrice);

	VacantLand.GC3NetAdjAmt = ToString(a,2);
	VacantLand.GC3IndValue = ToString(p+a,2);

	if IsEmpty(ToString(a,2)) then
	begin
		VacantLand.GC3Plus_Box = "";
		VacantLand.GC3Minus_Box = "";
	end;
	else if a >= 0 then
	begin
		VacantLand.GC3Plus_Box = "X";
		VacantLand.GC3Minus_Box = "";
	end;
	else
	begin
		VacantLand.GC3Plus_Box = "";
		VacantLand.GC3Minus_Box = "X";
	end;
end;


Formula:
routine main() returns nothing is
begin
	float sum, price, gross;
	string sg, sgs;

	price = 0;
	sgs = sg = "";
	if atof(VacantLand.GC1Site) != 0 then
		price = atof(VacantLand.GC1SalePrice)/atof(VacantLand.GC1Site);
	else
		price = atof(VacantLand.GC1SalePrice);

	if (price != 0) then
	begin
		sum=Abs(atof(VacantLand.GC1DateOfSaleAdj)) + Abs(atof(VacantLand.GC1LocationAdj)) + 
			Abs(atof(VacantLand.GC1SiteAdj)) + Abs(atof(VacantLand.GC1ExtraItemAdj)) + 
			Abs(atof(VacantLand.GC1ExtraItemAdj2)) + Abs(atof(VacantLand.GC1ExtraItemAdj3)) + 
			Abs(atof(VacantLand.GC1ExtraItemAdj4)) + Abs(atof(VacantLand.GC1SalesFin1Adj)) + 
			Abs(atof(VacantLand.GC1SalesFin2Adj));

		gross = sum/price*100;
		sg = ToString(gross,5);
		sgs = "G%";
	end;
	VacantLand.GC1AdjPrice1 = sg;
	VacantLand.GC1AdjPriceSgn1 = sgs;
end;


Formula:
routine main() returns nothing is
begin
	float sum, price, net;
	string sn, sns;

	price = 0;
	sn = sns = "";
	if atof(VacantLand.GC1Site) != 0 then
		price = atof(VacantLand.GC1SalePrice)/atof(VacantLand.GC1Site);
	else
		price = atof(VacantLand.GC1SalePrice);

	if (price != 0) then
	begin
		sum=atof(VacantLand.GC1DateOfSaleAdj) + atof(VacantLand.GC1LocationAdj) + 
			atof(VacantLand.GC1SiteAdj) + atof(VacantLand.GC1ExtraItemAdj) + 
			atof(VacantLand.GC1ExtraItemAdj2) + atof(VacantLand.GC1ExtraItemAdj3) + 
			atof(VacantLand.GC1ExtraItemAdj4) + atof(VacantLand.GC1SalesFin1Adj) + 
			atof(VacantLand.GC1SalesFin2Adj);

		net = Abs(sum)/price*100;
		sn = ToString(net,5);
		sns = "N%";
	end;
	VacantLand.GC1AdjPrice2 = sn;
	VacantLand.GC1AdjPriceSgn2 = sns;
end;


Formula:
routine main() returns nothing is
begin
	float sum, price, gross;
	string sg, sgs;

	price = 0;
	sgs = sg = "";
	if atof(VacantLand.GC2Site) != 0 then
		price = atof(VacantLand.GC2SalePrice)/atof(VacantLand.GC2Site);
	else
		price = atof(VacantLand.GC2SalePrice);

	if (price != 0) then
	begin
		sum=Abs(atof(VacantLand.GC2DateOfSaleAdj)) + Abs(atof(VacantLand.GC2LocationAdj)) + 
			Abs(atof(VacantLand.GC2SiteAdj)) + Abs(atof(VacantLand.GC2ExtraItemAdj)) + 
			Abs(atof(VacantLand.GC2ExtraItemAdj2)) + Abs(atof(VacantLand.GC2ExtraItemAdj3)) + 
			Abs(atof(VacantLand.GC2ExtraItemAdj4)) + Abs(atof(VacantLand.GC2SalesFin1Adj)) + 
			Abs(atof(VacantLand.GC2SalesFin2Adj));

		gross = sum/price*100;
		sg = ToString(gross,5);
		sgs = "G%";
	end;
	VacantLand.GC2AdjPrice1 = sg;
	VacantLand.GC2AdjPriceSgn1 = sgs;
end;


Formula:
routine main() returns nothing is
begin
	float sum, price, net;
	string sn, sns;

	price = 0;
	sn = sns = "";
	if atof(VacantLand.GC2Site) != 0 then
		price = atof(VacantLand.GC2SalePrice)/atof(VacantLand.GC2Site);
	else
		price = atof(VacantLand.GC2SalePrice);

	if (price != 0) then
	begin
		sum=atof(VacantLand.GC2DateOfSaleAdj) + atof(VacantLand.GC2LocationAdj) + 
			atof(VacantLand.GC2SiteAdj) + atof(VacantLand.GC2ExtraItemAdj) + 
			atof(VacantLand.GC2ExtraItemAdj2) + atof(VacantLand.GC2ExtraItemAdj3) + 
			atof(VacantLand.GC2ExtraItemAdj4) + atof(VacantLand.GC2SalesFin1Adj) + 
			atof(VacantLand.GC2SalesFin2Adj);

		net = Abs(sum)/price*100;
		sn = ToString(net,5);
		sns = "N%";
	end;
	VacantLand.GC2AdjPrice2 = sn;
	VacantLand.GC2AdjPriceSgn2 = sns;
end;


Formula:
routine main() returns nothing is
begin
	float sum, price, gross;
	string sg, sgs;

	price = 0;
	sgs = sg = "";
	if atof(VacantLand.GC3Site) != 0 then
		price = atof(VacantLand.GC3SalePrice)/atof(VacantLand.GC3Site);
	else
		price = atof(VacantLand.GC3SalePrice);

	if (price != 0) then
	begin
		sum=Abs(atof(VacantLand.GC3DateOfSaleAdj)) + Abs(atof(VacantLand.GC3LocationAdj)) + 
			Abs(atof(VacantLand.GC3SiteAdj)) + Abs(atof(VacantLand.GC3ExtraItemAdj)) + 
			Abs(atof(VacantLand.GC3ExtraItemAdj2)) + Abs(atof(VacantLand.GC3ExtraItemAdj3)) + 
			Abs(atof(VacantLand.GC3ExtraItemAdj4)) + Abs(atof(VacantLand.GC3SalesFin1Adj)) + 
			Abs(atof(VacantLand.GC3SalesFin2Adj));

		gross = sum/price*100;
		sg = ToString(gross,5);
		sgs = "G%";
	end;
	VacantLand.GC3AdjPrice1 = sg;
	VacantLand.GC3AdjPriceSgn1 = sgs;
end;


Formula:
routine main() returns nothing is
begin
	float sum, price, net;
	string sn, sns;

	price = 0;
	sn = sns = "";
	if atof(VacantLand.GC3Site) != 0 then
		price = atof(VacantLand.GC3SalePrice)/atof(VacantLand.GC3Site);
	else
		price = atof(VacantLand.GC3SalePrice);

	if (price != 0) then
	begin
		sum=atof(VacantLand.GC3DateOfSaleAdj) + atof(VacantLand.GC3LocationAdj) + 
			atof(VacantLand.GC3SiteAdj) + atof(VacantLand.GC3ExtraItemAdj) + 
			atof(VacantLand.GC3ExtraItemAdj2) + atof(VacantLand.GC3ExtraItemAdj3) + 
			atof(VacantLand.GC3ExtraItemAdj4) + atof(VacantLand.GC3SalesFin1Adj) + 
			atof(VacantLand.GC3SalesFin2Adj);

		net = Abs(sum)/price*100;
		sn = ToString(net,5);
		sns = "N%";
	end;
	VacantLand.GC3AdjPrice2 = sn;
	VacantLand.GC3AdjPriceSgn2 = sns;
end;


Formula:
routine main() returns nothing is
begin
	begin
		VacantLand.RECInspectDate = VacantLand.RECInspectDay + 
			" 19" + VacantLand.RECInspectYear;
		VacantLand.RECApprSignDate = VacantLand.RECInspectDate;
	end;
	CopyField("VacantLand.RECInspectDate");
	CopyField("VacantLand.RECApprSignDate");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.RECEstMktValue");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.RECAppraiser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.RECSuperviser");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.RECApprCert");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.RECSupInsp_Did_Box");
end;


Formula:
routine main() returns nothing is
begin
	CopyField("VacantLand.RECSupInsp_DidNot_Box");
end;


